      >>IMP(ACU-CBLFLAGS=-Sa)
      * p:\68btn\cpy\MSXML6.CPY - OLE object definitions for MSXML2
      * Generated: Tuesday, July 29, 2014
      * Typelib..: C:\Windows\System32\msxml6.dll
           
           OBJECT @MSXML2
           
      * IXMLDOMImplementation
           CLASS @IXMLDOMImplementation
               CLSID, 2933BF8F-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMImplementation"
      *[Class: @IXMLDOMImplementation] hasFeature
               METHOD, 145, @hasFeature,
                   "BSTR" @feature, TYPE 8,
                   "BSTR" @version, TYPE 8
                       RETURNING "boolean", TYPE 11
           
      * Core DOM node interface
           
      * IXMLDOMNode
           CLASS @IXMLDOMNode
               CLSID, 2933BF80-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMNode"
      *[Class: @IXMLDOMNode] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMNode] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMNode] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMNode] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMNode] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMNode] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMNode] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMNode] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMNode] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMNode] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMNode] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMNode] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMNode] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMNode] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMNode] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNode] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMNode] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNode] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
           
      * Constants that define a node's type
           
      * tagDOMNodeType
           CLASS @tagDOMNodeType
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "tagDOMNodeType"
      * "long NODE_INVALID"
               ENUMERATOR, @NODE_INVALID, 0
      * "long NODE_ELEMENT"
               ENUMERATOR, @NODE_ELEMENT, 1
      * "long NODE_ATTRIBUTE"
               ENUMERATOR, @NODE_ATTRIBUTE, 2
      * "long NODE_TEXT"
               ENUMERATOR, @NODE_TEXT, 3
      * "long NODE_CDATA_SECTION"
               ENUMERATOR, @NODE_CDATA_SECTION, 4
      * "long NODE_ENTITY_REFERENCE"
               ENUMERATOR, @NODE_ENTITY_REFERENCE, 5
      * "long NODE_ENTITY"
               ENUMERATOR, @NODE_ENTITY, 6
      * "long NODE_PROCESSING_INSTRUCTION"
               ENUMERATOR, @NODE_PROCESSING_INSTRUCTION, 7
      * "long NODE_COMMENT"
               ENUMERATOR, @NODE_COMMENT, 8
      * "long NODE_DOCUMENT"
               ENUMERATOR, @NODE_DOCUMENT, 9
      * "long NODE_DOCUMENT_TYPE"
               ENUMERATOR, @NODE_DOCUMENT_TYPE, 10
      * "long NODE_DOCUMENT_FRAGMENT"
               ENUMERATOR, @NODE_DOCUMENT_FRAGMENT, 11
      * "long NODE_NOTATION"
               ENUMERATOR, @NODE_NOTATION, 12
           
      * IXMLDOMNodeList
           CLASS @IXMLDOMNodeList
               CLSID, 2933BF82-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMNodeList"
      *[Class: @IXMLDOMNodeList] item
      * collection of nodes
               PROPERTY-GET, 0, @item,
                   "long" @index, TYPE 3
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNodeList] length
      * number of nodes in the collection
               PROPERTY-GET, 74, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMNodeList] nextNode
      * get next node from iterator
               METHOD, 76, @nextNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNodeList] reset
      * reset the position of iterator
               METHOD, 77, @reset
           
      * IXMLDOMNamedNodeMap
           CLASS @IXMLDOMNamedNodeMap
               CLSID, 2933BF83-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMNamedNodeMap"
      *[Class: @IXMLDOMNamedNodeMap] getNamedItem
      * lookup item by name
               METHOD, 83, @getNamedItem,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNamedNodeMap] setNamedItem
      * set item by name
               METHOD, 84, @setNamedItem,
                   "IXMLDOMNode*" @newItem, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNamedNodeMap] removeNamedItem
      * remove item by name
               METHOD, 85, @removeNamedItem,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNamedNodeMap] item
      * collection of nodes
               PROPERTY-GET, 0, @item,
                   "long" @index, TYPE 3
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNamedNodeMap] length
      * number of nodes in the collection
               PROPERTY-GET, 74, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMNamedNodeMap] getQualifiedItem
      * lookup the item by name and namespace
               METHOD, 87, @getQualifiedItem,
                   "BSTR" @baseName, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNamedNodeMap] removeQualifiedItem
      * remove the item by name and namespace
               METHOD, 88, @removeQualifiedItem,
                   "BSTR" @baseName, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNamedNodeMap] nextNode
      * get next node from iterator
               METHOD, 89, @nextNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNamedNodeMap] reset
      * reset the position of iterator
               METHOD, 90, @reset
           
      * IXMLDOMDocument
           CLASS @IXMLDOMDocument
               CLSID, 2933BF81-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMDocument"
      *[Class: @IXMLDOMDocument] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMDocument] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMDocument] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMDocument] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocument] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocument] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMDocument] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @IXMLDOMDocument] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @IXMLDOMDocument] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @IXMLDOMDocument] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @IXMLDOMDocument] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @IXMLDOMDocument] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @IXMLDOMDocument] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @IXMLDOMDocument] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @IXMLDOMDocument] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @IXMLDOMDocument] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @IXMLDOMDocument] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @IXMLDOMDocument] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @IXMLDOMDocument] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMDocument] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @IXMLDOMDocument] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @IXMLDOMDocument] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @IXMLDOMDocument] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
           
      * IXMLDOMDocumentType
           CLASS @IXMLDOMDocumentType
               CLSID, 2933BF8B-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMDocumentType"
      *[Class: @IXMLDOMDocumentType] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocumentType] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocumentType] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMDocumentType] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocumentType] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMDocumentType] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocumentType] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMDocumentType] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocumentType] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocumentType] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocumentType] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocumentType] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocumentType] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocumentType] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocumentType] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentType] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocumentType] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMDocumentType] name
      * name of the document type (root of the tree)
               PROPERTY-GET, 131, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentType] entities
      * a list of entities in the document
               PROPERTY-GET, 132, @entities
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMDocumentType] notations
      * a list of notations in the document
               PROPERTY-GET, 133, @notations
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
           
      * IXMLDOMElement
           CLASS @IXMLDOMElement
               CLSID, 2933BF86-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMElement"
      *[Class: @IXMLDOMElement] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMElement] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMElement] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMElement] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMElement] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMElement] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMElement] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMElement] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMElement] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMElement] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMElement] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMElement] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMElement] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMElement] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMElement] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMElement] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMElement] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMElement] tagName
      * get the tagName of the element
               PROPERTY-GET, 97, @tagName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMElement] getAttribute
      * look up the string value of an attribute by name
               METHOD, 99, @getAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMElement] setAttribute
      * set the string value of an attribute by name
               METHOD, 100, @setAttribute,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @IXMLDOMElement] removeAttribute
      * remove an attribute by name
               METHOD, 101, @removeAttribute,
                   "BSTR" @name, TYPE 8
      *[Class: @IXMLDOMElement] getAttributeNode
      * look up the attribute node by name
               METHOD, 102, @getAttributeNode,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @IXMLDOMElement] setAttributeNode
      * set the specified attribute on the element
               METHOD, 103, @setAttributeNode,
                   "IXMLDOMAttribute*" @DOMAttribute, TYPE 9
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @IXMLDOMElement] removeAttributeNode
      * remove the specified attribute
               METHOD, 104, @removeAttributeNode,
                   "IXMLDOMAttribute*" @DOMAttribute, TYPE 9
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @IXMLDOMElement] getElementsByTagName
      * build a list of elements by name
               METHOD, 105, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMElement] normalize
      * collapse all adjacent text nodes in sub-tree
               METHOD, 106, @normalize
           
      * IXMLDOMAttribute
           CLASS @IXMLDOMAttribute
               CLSID, 2933BF85-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMAttribute"
      *[Class: @IXMLDOMAttribute] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMAttribute] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMAttribute] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMAttribute] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMAttribute] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMAttribute] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMAttribute] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMAttribute] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMAttribute] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMAttribute] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMAttribute] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMAttribute] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMAttribute] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMAttribute] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMAttribute] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMAttribute] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMAttribute] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMAttribute] name
      * get name of the attribute
               PROPERTY-GET, 118, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMAttribute] value
      * string value of the attribute
               PROPERTY-GET, 120, @value
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMAttribute] value
      * string value of the attribute
               PROPERTY-PUT, 120, @value,
                   "VARIANT (Property_Value)", TYPE 12
           
      * IXMLDOMDocumentFragment
           CLASS @IXMLDOMDocumentFragment
               CLSID, 3EFAA413-272F-11D2-836F-0000F87A7782
               NAME, "IXMLDOMDocumentFragment"
      *[Class: @IXMLDOMDocumentFragment] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocumentFragment] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocumentFragment] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMDocumentFragment] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocumentFragment] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocumentFragment] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocumentFragment] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocumentFragment] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocumentFragment] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocumentFragment] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocumentFragment] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocumentFragment] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
           
      * IXMLDOMText
           CLASS @IXMLDOMText
               CLSID, 2933BF87-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMText"
      *[Class: @IXMLDOMText] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMText] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMText] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMText] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMText] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMText] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMText] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMText] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMText] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMText] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMText] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMText] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMText] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMText] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMText] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMText] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMText] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMText] data
      * value of the node
               PROPERTY-GET, 109, @data
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] data
      * value of the node
               PROPERTY-PUT, 109, @data,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMText] length
      * number of characters in value
               PROPERTY-GET, 110, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMText] substringData
      * retrieve substring of value
               METHOD, 111, @substringData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMText] appendData
      * append string to value
               METHOD, 112, @appendData,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMText] insertData
      * insert string into value
               METHOD, 113, @insertData,
                   "long" @offset, TYPE 3,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMText] deleteData
      * delete string within the value
               METHOD, 114, @deleteData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
      *[Class: @IXMLDOMText] replaceData
      * replace string within the value
               METHOD, 115, @replaceData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMText] splitText
      * split the text node into two text nodes at the position specified
               METHOD, 123, @splitText,
                   "long" @offset, TYPE 3
                       RETURNING "IXMLDOMText*", TYPE 9
           
      * IXMLDOMCharacterData
           CLASS @IXMLDOMCharacterData
               CLSID, 2933BF84-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMCharacterData"
      *[Class: @IXMLDOMCharacterData] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMCharacterData] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMCharacterData] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMCharacterData] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMCharacterData] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMCharacterData] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMCharacterData] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMCharacterData] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMCharacterData] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMCharacterData] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMCharacterData] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMCharacterData] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMCharacterData] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMCharacterData] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMCharacterData] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCharacterData] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMCharacterData] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMCharacterData] data
      * value of the node
               PROPERTY-GET, 109, @data
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] data
      * value of the node
               PROPERTY-PUT, 109, @data,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMCharacterData] length
      * number of characters in value
               PROPERTY-GET, 110, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMCharacterData] substringData
      * retrieve substring of value
               METHOD, 111, @substringData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCharacterData] appendData
      * append string to value
               METHOD, 112, @appendData,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMCharacterData] insertData
      * insert string into value
               METHOD, 113, @insertData,
                   "long" @offset, TYPE 3,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMCharacterData] deleteData
      * delete string within the value
               METHOD, 114, @deleteData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
      *[Class: @IXMLDOMCharacterData] replaceData
      * replace string within the value
               METHOD, 115, @replaceData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3,
                   "BSTR" @data, TYPE 8
           
      * IXMLDOMComment
           CLASS @IXMLDOMComment
               CLSID, 2933BF88-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMComment"
      *[Class: @IXMLDOMComment] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMComment] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMComment] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMComment] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMComment] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMComment] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMComment] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMComment] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMComment] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMComment] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMComment] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMComment] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMComment] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMComment] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMComment] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMComment] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMComment] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMComment] data
      * value of the node
               PROPERTY-GET, 109, @data
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] data
      * value of the node
               PROPERTY-PUT, 109, @data,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMComment] length
      * number of characters in value
               PROPERTY-GET, 110, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMComment] substringData
      * retrieve substring of value
               METHOD, 111, @substringData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMComment] appendData
      * append string to value
               METHOD, 112, @appendData,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMComment] insertData
      * insert string into value
               METHOD, 113, @insertData,
                   "long" @offset, TYPE 3,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMComment] deleteData
      * delete string within the value
               METHOD, 114, @deleteData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
      *[Class: @IXMLDOMComment] replaceData
      * replace string within the value
               METHOD, 115, @replaceData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3,
                   "BSTR" @data, TYPE 8
           
      * IXMLDOMCDATASection
           CLASS @IXMLDOMCDATASection
               CLSID, 2933BF8A-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMCDATASection"
      *[Class: @IXMLDOMCDATASection] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMCDATASection] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMCDATASection] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMCDATASection] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMCDATASection] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMCDATASection] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMCDATASection] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMCDATASection] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMCDATASection] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMCDATASection] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMCDATASection] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMCDATASection] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMCDATASection] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMCDATASection] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMCDATASection] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMCDATASection] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMCDATASection] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMCDATASection] data
      * value of the node
               PROPERTY-GET, 109, @data
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] data
      * value of the node
               PROPERTY-PUT, 109, @data,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMCDATASection] length
      * number of characters in value
               PROPERTY-GET, 110, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMCDATASection] substringData
      * retrieve substring of value
               METHOD, 111, @substringData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMCDATASection] appendData
      * append string to value
               METHOD, 112, @appendData,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMCDATASection] insertData
      * insert string into value
               METHOD, 113, @insertData,
                   "long" @offset, TYPE 3,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMCDATASection] deleteData
      * delete string within the value
               METHOD, 114, @deleteData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3
      *[Class: @IXMLDOMCDATASection] replaceData
      * replace string within the value
               METHOD, 115, @replaceData,
                   "long" @offset, TYPE 3,
                   "long" @count, TYPE 3,
                   "BSTR" @data, TYPE 8
      *[Class: @IXMLDOMCDATASection] splitText
      * split the text node into two text nodes at the position specified
               METHOD, 123, @splitText,
                   "long" @offset, TYPE 3
                       RETURNING "IXMLDOMText*", TYPE 9
           
      * IXMLDOMProcessingInstruction
           CLASS @IXMLDOMProcessingInstruction
               CLSID, 2933BF89-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMProcessingInstruction"
      *[Class: @IXMLDOMProcessingInstruction] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMProcessingInstruction] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMProcessingInstruction] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMProcessingInstruction] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMProcessingInstruction] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMProcessingInstruction] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMProcessingInstruction] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMProcessingInstruction] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMProcessingInstruction] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMProcessingInstruction] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMProcessingInstruction] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMProcessingInstruction] target
      * the target
               PROPERTY-GET, 127, @target
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] data
      * the data
               PROPERTY-GET, 128, @data
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMProcessingInstruction] data
      * the data
               PROPERTY-PUT, 128, @data,
                   "BSTR (Property_Value)", TYPE 8
           
      * IXMLDOMEntityReference
           CLASS @IXMLDOMEntityReference
               CLSID, 2933BF8E-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMEntityReference"
      *[Class: @IXMLDOMEntityReference] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntityReference] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMEntityReference] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMEntityReference] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMEntityReference] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMEntityReference] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMEntityReference] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMEntityReference] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMEntityReference] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMEntityReference] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntityReference] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMEntityReference] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntityReference] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMEntityReference] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMEntityReference] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntityReference] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMEntityReference] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntityReference] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
           
      * structure for reporting parser errors
           
      * IXMLDOMParseError
           CLASS @IXMLDOMParseError
               CLSID, 3EFAA426-272F-11D2-836F-0000F87A7782
               NAME, "IXMLDOMParseError"
      *[Class: @IXMLDOMParseError] errorCode
      * the error code
               PROPERTY-GET, 0, @errorCode
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseError] url
      * the URL of the XML document containing the error
               PROPERTY-GET, 179, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError] reason
      * the cause of the error
               PROPERTY-GET, 180, @reason
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError] srcText
      * the data where the error occurred
               PROPERTY-GET, 181, @srcText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError] line
      * the line number in the XML document where the error occurred
               PROPERTY-GET, 182, @line
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseError] linepos
      * the character position in the line containing the error
               PROPERTY-GET, 183, @linepos
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseError] filepos
      * the absolute file position in the XML document containing the error
               PROPERTY-GET, 184, @filepos
                       RETURNING "long", TYPE 3
           
      * IXMLDOMDocument2
           CLASS @IXMLDOMDocument2
               CLSID, 2933BF95-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMDocument2"
      *[Class: @IXMLDOMDocument2] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument2] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument2] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMDocument2] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument2] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMDocument2] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMDocument2] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocument2] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument2] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument2] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument2] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocument2] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument2] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMDocument2] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @IXMLDOMDocument2] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @IXMLDOMDocument2] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @IXMLDOMDocument2] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @IXMLDOMDocument2] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @IXMLDOMDocument2] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @IXMLDOMDocument2] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @IXMLDOMDocument2] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @IXMLDOMDocument2] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @IXMLDOMDocument2] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @IXMLDOMDocument2] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @IXMLDOMDocument2] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @IXMLDOMDocument2] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument2] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument2] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMDocument2] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @IXMLDOMDocument2] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument2] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument2] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @IXMLDOMDocument2] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @IXMLDOMDocument2] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument2] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument2] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument2] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument2] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument2] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument2] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument2] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @IXMLDOMDocument2] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument2] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument2] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @IXMLDOMDocument2] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @IXMLDOMDocument2] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
           
      * XML Schemas Collection
           
      * IXMLDOMSchemaCollection
           CLASS @IXMLDOMSchemaCollection
               CLSID, 373984C8-B845-449B-91E7-45AC83036ADE
               NAME, "IXMLDOMSchemaCollection"
      *[Class: @IXMLDOMSchemaCollection] add
      * add a new schema
               METHOD, 3, @add,
                   "BSTR" @namespaceURI, TYPE 8,
                   "VARIANT" @var, TYPE 12
      *[Class: @IXMLDOMSchemaCollection] get
      * lookup schema by namespaceURI
               METHOD, 4, @get,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSchemaCollection] remove
      * remove schema by namespaceURI
               METHOD, 5, @remove,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @IXMLDOMSchemaCollection] length
      * number of schemas in collection
               PROPERTY-GET, 6, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMSchemaCollection] namespaceURI
      * Get namespaceURI for schema by index
               PROPERTY-GET, 0, @namespaceURI,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMSchemaCollection] addCollection
      * copy & merge other collection into this one
               METHOD, 8, @addCollection,
                   "IXMLDOMSchemaCollection*" @otherCollection, TYPE 9
           
      * IXMLDOMDocument3
           CLASS @IXMLDOMDocument3
               CLSID, 2933BF96-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMDocument3"
      *[Class: @IXMLDOMDocument3] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument3] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument3] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMDocument3] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument3] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMDocument3] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMDocument3] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocument3] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument3] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument3] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument3] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMDocument3] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument3] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMDocument3] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @IXMLDOMDocument3] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @IXMLDOMDocument3] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @IXMLDOMDocument3] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @IXMLDOMDocument3] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @IXMLDOMDocument3] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @IXMLDOMDocument3] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @IXMLDOMDocument3] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @IXMLDOMDocument3] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @IXMLDOMDocument3] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @IXMLDOMDocument3] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @IXMLDOMDocument3] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @IXMLDOMDocument3] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMDocument3] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMDocument3] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMDocument3] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @IXMLDOMDocument3] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMDocument3] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument3] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @IXMLDOMDocument3] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @IXMLDOMDocument3] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument3] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument3] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMDocument3] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMDocument3] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument3] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument3] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument3] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @IXMLDOMDocument3] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument3] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMDocument3] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @IXMLDOMDocument3] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @IXMLDOMDocument3] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMDocument3] validateNode
      * perform runtime validation on the currently loaded XML document node
               METHOD, 208, @validateNode,
                   "IXMLDOMNode*" @node, TYPE 9
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @IXMLDOMDocument3] importNode
      * clone node such that clones ownerDocument is this document
               METHOD, 209, @importNode,
                   "IXMLDOMNode*" @node, TYPE 9,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
           
      * IXMLDOMNotation
           CLASS @IXMLDOMNotation
               CLSID, 2933BF8C-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMNotation"
      *[Class: @IXMLDOMNotation] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMNotation] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMNotation] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMNotation] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMNotation] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMNotation] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMNotation] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMNotation] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMNotation] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMNotation] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMNotation] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMNotation] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMNotation] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMNotation] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMNotation] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMNotation] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMNotation] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMNotation] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMNotation] publicId
      * the public ID
               PROPERTY-GET, 136, @publicId
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMNotation] systemId
      * the system ID
               PROPERTY-GET, 137, @systemId
                       RETURNING "VARIANT", TYPE 12
           
      * IXMLDOMEntity
           CLASS @IXMLDOMEntity
               CLSID, 2933BF8D-7B36-11D2-B20E-00C04F983E60
               NAME, "IXMLDOMEntity"
      *[Class: @IXMLDOMEntity] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntity] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMEntity] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXMLDOMEntity] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMEntity] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXMLDOMEntity] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMEntity] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXMLDOMEntity] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMEntity] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMEntity] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntity] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXMLDOMEntity] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntity] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMEntity] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXMLDOMEntity] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMEntity] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMEntity] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMEntity] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXMLDOMEntity] publicId
      * the public ID
               PROPERTY-GET, 140, @publicId
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntity] systemId
      * the system ID
               PROPERTY-GET, 141, @systemId
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMEntity] notationName
      * the name of the notation
               PROPERTY-GET, 142, @notationName
                       RETURNING "BSTR", TYPE 8
           
      * structure for reporting parser errors
           
      * IXMLDOMParseError2
           CLASS @IXMLDOMParseError2
               CLSID, 3EFAA428-272F-11D2-836F-0000F87A7782
               NAME, "IXMLDOMParseError2"
      *[Class: @IXMLDOMParseError2] errorCode
      * the error code
               PROPERTY-GET, 0, @errorCode
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseError2] url
      * the URL of the XML document containing the error
               PROPERTY-GET, 179, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError2] reason
      * the cause of the error
               PROPERTY-GET, 180, @reason
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError2] srcText
      * the data where the error occurred
               PROPERTY-GET, 181, @srcText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError2] line
      * the line number in the XML document where the error occurred
               PROPERTY-GET, 182, @line
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseError2] linepos
      * the character position in the line containing the error
               PROPERTY-GET, 183, @linepos
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseError2] filepos
      * the absolute file position in the XML document containing the error
               PROPERTY-GET, 184, @filepos
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseError2] errorXPath
               PROPERTY-GET, 190, @errorXPath
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError2] allErrors
               PROPERTY-GET, 187, @allErrors
                       RETURNING "IXMLDOMParseErrorCollection*", TYPE 9
      *[Class: @IXMLDOMParseError2] errorParameters
               METHOD, 188, @errorParameters,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMParseError2] errorParametersCount
               PROPERTY-GET, 189, @errorParametersCount
                       RETURNING "long", TYPE 3
           
      * structure for reporting parser errors
           
      * IXMLDOMParseErrorCollection
           CLASS @IXMLDOMParseErrorCollection
               CLSID, 3EFAA429-272F-11D2-836F-0000F87A7782
               NAME, "IXMLDOMParseErrorCollection"
      *[Class: @IXMLDOMParseErrorCollection] item
               PROPERTY-GET, 0, @item,
                   "long" @index, TYPE 3
                       RETURNING "IXMLDOMParseError2*", TYPE 9
      *[Class: @IXMLDOMParseErrorCollection] length
               PROPERTY-GET, 193, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMParseErrorCollection] next
               PROPERTY-GET, 194, @next
                       RETURNING "IXMLDOMParseError2*", TYPE 9
      *[Class: @IXMLDOMParseErrorCollection] reset
               METHOD, 195, @reset
           
      * XTL runtime object
           
      * IXTLRuntime
           CLASS @IXTLRuntime
               CLSID, 3EFAA425-272F-11D2-836F-0000F87A7782
               NAME, "IXTLRuntime"
      *[Class: @IXTLRuntime] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXTLRuntime] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXTLRuntime] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @IXTLRuntime] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXTLRuntime] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @IXTLRuntime] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @IXTLRuntime] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IXTLRuntime] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXTLRuntime] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @IXTLRuntime] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXTLRuntime] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXTLRuntime] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXTLRuntime] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXTLRuntime] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @IXTLRuntime] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXTLRuntime] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @IXTLRuntime] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @IXTLRuntime] uniqueID
               METHOD, 187, @uniqueID,
                   "IXMLDOMNode*" @pNode, TYPE 9
                       RETURNING "long", TYPE 3
      *[Class: @IXTLRuntime] depth
               METHOD, 188, @depth,
                   "IXMLDOMNode*" @pNode, TYPE 9
                       RETURNING "long", TYPE 3
      *[Class: @IXTLRuntime] childNumber
               METHOD, 189, @childNumber,
                   "IXMLDOMNode*" @pNode, TYPE 9
                       RETURNING "long", TYPE 3
      *[Class: @IXTLRuntime] ancestorChildNumber
               METHOD, 190, @ancestorChildNumber,
                   "BSTR" @bstrNodeName, TYPE 8,
                   "IXMLDOMNode*" @pNode, TYPE 9
                       RETURNING "long", TYPE 3
      *[Class: @IXTLRuntime] absoluteChildNumber
               METHOD, 191, @absoluteChildNumber,
                   "IXMLDOMNode*" @pNode, TYPE 9
                       RETURNING "long", TYPE 3
      *[Class: @IXTLRuntime] formatIndex
               METHOD, 192, @formatIndex,
                   "long" @lIndex, TYPE 3,
                   "BSTR" @bstrFormat, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] formatNumber
               METHOD, 193, @formatNumber,
                   "double" @dblNumber, TYPE 5,
                   "BSTR" @bstrFormat, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] formatDate
               METHOD, 194, @formatDate,
                   "VARIANT" @varDate, TYPE 12,
                   "BSTR" @bstrFormat, TYPE 8,
                   "VARIANT" @varDestLocale, TYPE 12
                       OPTIONAL 1
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXTLRuntime] formatTime
               METHOD, 195, @formatTime,
                   "VARIANT" @varTime, TYPE 12,
                   "BSTR" @bstrFormat, TYPE 8,
                   "VARIANT" @varDestLocale, TYPE 12
                       OPTIONAL 1
                       RETURNING "BSTR", TYPE 8
           
      * IXSLTemplate Interface
           
      * IXSLTemplate
           CLASS @IXSLTemplate
               CLSID, 2933BF93-7B36-11D2-B20E-00C04F983E60
               NAME, "IXSLTemplate"
      *[Class: @IXSLTemplate] stylesheet
      * stylesheet to use with processors
               PROPERTY-PUTREF, 2, @stylesheet,
                   "IXMLDOMNode* (Property_Value)", TYPE 9
      *[Class: @IXSLTemplate] stylesheet
      * stylesheet to use with processors
               PROPERTY-GET, 2, @stylesheet
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXSLTemplate] createProcessor
      * create a new processor object
               METHOD, 3, @createProcessor
                       RETURNING "IXSLProcessor*", TYPE 9
           
      * IXSLProcessor Interface
           
      * IXSLProcessor
           CLASS @IXSLProcessor
               CLSID, 2933BF92-7B36-11D2-B20E-00C04F983E60
               NAME, "IXSLProcessor"
      *[Class: @IXSLProcessor] input
      * XML input tree to transform
               PROPERTY-PUT, 2, @input,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXSLProcessor] input
      * XML input tree to transform
               PROPERTY-GET, 2, @input
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXSLProcessor] ownerTemplate
      * template object used to create this processor object
               PROPERTY-GET, 3, @ownerTemplate
                       RETURNING "IXSLTemplate*", TYPE 9
      *[Class: @IXSLProcessor] setStartMode
      * set XSL mode and it's namespace
               METHOD, 4, @setStartMode,
                   "BSTR" @mode, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       OPTIONAL 1
      *[Class: @IXSLProcessor] startMode
      * starting XSL mode
               PROPERTY-GET, 5, @startMode
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXSLProcessor] startModeURI
      * namespace of starting XSL mode
               PROPERTY-GET, 6, @startModeURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXSLProcessor] output
      * custom stream object for transform output
               PROPERTY-PUT, 7, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IXSLProcessor] output
      * custom stream object for transform output
               PROPERTY-GET, 7, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXSLProcessor] transform
      * start/resume the XSL transformation process
               METHOD, 8, @transform
                       RETURNING "boolean", TYPE 11
      *[Class: @IXSLProcessor] reset
      * reset state of processor and abort current transform
               METHOD, 9, @reset
      *[Class: @IXSLProcessor] readyState
      * current state of the processor
               PROPERTY-GET, 10, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @IXSLProcessor] addParameter
      * set <xsl:param> values
               METHOD, 11, @addParameter,
                   "BSTR" @baseName, TYPE 8,
                   "VARIANT" @parameter, TYPE 12,
                   "BSTR" @namespaceURI, TYPE 8
                       OPTIONAL 1
      *[Class: @IXSLProcessor] addObject
      * pass object to stylesheet
               METHOD, 12, @addObject,
                   "IDispatch*" @obj, TYPE 9,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @IXSLProcessor] stylesheet
      * current stylesheet being used
               PROPERTY-GET, 13, @stylesheet
                       RETURNING "IXMLDOMNode*", TYPE 9
           
      * IVBSAXXMLReader interface
           
      * IVBSAXXMLReader
           CLASS @IVBSAXXMLReader
               CLSID, 8C033CAA-6CD6-4F73-B728-4531AF74945F
               NAME, "IVBSAXXMLReader"
      *[Class: @IVBSAXXMLReader] getFeature
      * Look up the value of a feature.
               METHOD, 1282, @getFeature,
                   "BSTR" @strName, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @IVBSAXXMLReader] putFeature
      * Set the state of a feature.
               METHOD, 1283, @putFeature,
                   "BSTR" @strName, TYPE 8,
                   "boolean" @fValue, TYPE 11
      *[Class: @IVBSAXXMLReader] getProperty
      * Look up the value of a property.
               METHOD, 1284, @getProperty,
                   "BSTR" @strName, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IVBSAXXMLReader] putProperty
      * Set the value of a property.
               METHOD, 1285, @putProperty,
                   "BSTR" @strName, TYPE 8,
                   "VARIANT" @varValue, TYPE 12
      *[Class: @IVBSAXXMLReader] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-GET, 1286, @entityResolver
                       RETURNING "IVBSAXEntityResolver*", TYPE 9
      *[Class: @IVBSAXXMLReader] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-PUTREF, 1286, @entityResolver,
                   "IVBSAXEntityResolver* (Property_Value)", TYPE 9
      *[Class: @IVBSAXXMLReader] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-GET, 1287, @contentHandler
                       RETURNING "IVBSAXContentHandler*", TYPE 9
      *[Class: @IVBSAXXMLReader] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-PUTREF, 1287, @contentHandler,
                   "IVBSAXContentHandler* (Property_Value)", TYPE 9
      *[Class: @IVBSAXXMLReader] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-GET, 1288, @dtdHandler
                       RETURNING "IVBSAXDTDHandler*", TYPE 9
      *[Class: @IVBSAXXMLReader] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-PUTREF, 1288, @dtdHandler,
                   "IVBSAXDTDHandler* (Property_Value)", TYPE 9
      *[Class: @IVBSAXXMLReader] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-GET, 1289, @errorHandler
                       RETURNING "IVBSAXErrorHandler*", TYPE 9
      *[Class: @IVBSAXXMLReader] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-PUTREF, 1289, @errorHandler,
                   "IVBSAXErrorHandler* (Property_Value)", TYPE 9
      *[Class: @IVBSAXXMLReader] baseURL
      * Set or get the base URL for the document.
               PROPERTY-GET, 1290, @baseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXXMLReader] baseURL
      * Set or get the base URL for the document.
               PROPERTY-PUT, 1290, @baseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IVBSAXXMLReader] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-GET, 1291, @secureBaseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXXMLReader] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-PUT, 1291, @secureBaseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IVBSAXXMLReader] parse
      * Parse an XML document.
               METHOD, 1292, @parse,
                   "VARIANT" @varInput, TYPE 12
                       OPTIONAL 1
      *[Class: @IVBSAXXMLReader] parseURL
      * Parse an XML document from a system identifier (URI).
               METHOD, 1293, @parseURL,
                   "BSTR" @strURL, TYPE 8
           
      * IVBSAXEntityResolver interface
           
      * IVBSAXEntityResolver
           CLASS @IVBSAXEntityResolver
               CLSID, 0C05D096-F45B-4ACA-AD1A-AA0BC25518DC
               NAME, "IVBSAXEntityResolver"
      *[Class: @IVBSAXEntityResolver] resolveEntity
      * Allow the application to resolve external entities.
               METHOD, 1319, @resolveEntity,
                   "BSTR*" @strPublicId, TYPE 16392,
                   "BSTR*" @strSystemId, TYPE 16392
                       RETURNING "VARIANT", TYPE 12
           
      * IVBSAXContentHandler interface
           
      * IVBSAXContentHandler
           CLASS @IVBSAXContentHandler
               CLSID, 2ED7290A-4DD5-4B46-BB26-4E4155E77FAA
               NAME, "IVBSAXContentHandler"
      *[Class: @IVBSAXContentHandler] documentLocator
      * Receive an object for locating the origin of SAX document events.
               PROPERTY-PUTREF, 1322, @documentLocator,
                   "IVBSAXLocator* (Property_Value)", TYPE 9
      *[Class: @IVBSAXContentHandler] startDocument
      * Receive notification of the beginning of a document.
               METHOD, 1323, @startDocument
      *[Class: @IVBSAXContentHandler] endDocument
      * Receive notification of the end of a document.
               METHOD, 1324, @endDocument
      *[Class: @IVBSAXContentHandler] startPrefixMapping
      * Begin the scope of a prefix-URI Namespace mapping.
               METHOD, 1325, @startPrefixMapping,
                   "BSTR*" @strPrefix, TYPE 16392,
                   "BSTR*" @strURI, TYPE 16392
      *[Class: @IVBSAXContentHandler] endPrefixMapping
      * End the scope of a prefix-URI mapping.
               METHOD, 1326, @endPrefixMapping,
                   "BSTR*" @strPrefix, TYPE 16392
      *[Class: @IVBSAXContentHandler] startElement
      * Receive notification of the beginning of an element.
               METHOD, 1327, @startElement,
                   "BSTR*" @strNamespaceURI, TYPE 16392,
                   "BSTR*" @strLocalName, TYPE 16392,
                   "BSTR*" @strQName, TYPE 16392,
                   "IVBSAXAttributes*" @oAttributes, TYPE 9
      *[Class: @IVBSAXContentHandler] endElement
      * Receive notification of the end of an element.
               METHOD, 1328, @endElement,
                   "BSTR*" @strNamespaceURI, TYPE 16392,
                   "BSTR*" @strLocalName, TYPE 16392,
                   "BSTR*" @strQName, TYPE 16392
      *[Class: @IVBSAXContentHandler] characters
      * Receive notification of character data.
               METHOD, 1329, @characters,
                   "BSTR*" @strChars, TYPE 16392
      *[Class: @IVBSAXContentHandler] ignorableWhitespace
      * Receive notification of ignorable whitespace in element content.
               METHOD, 1330, @ignorableWhitespace,
                   "BSTR*" @strChars, TYPE 16392
      *[Class: @IVBSAXContentHandler] processingInstruction
      * Receive notification of a processing instruction.
               METHOD, 1331, @processingInstruction,
                   "BSTR*" @strTarget, TYPE 16392,
                   "BSTR*" @strData, TYPE 16392
      *[Class: @IVBSAXContentHandler] skippedEntity
      * Receive notification of a skipped entity.
               METHOD, 1332, @skippedEntity,
                   "BSTR*" @strName, TYPE 16392
           
      * IVBSAXLocator interface
           
      * IVBSAXLocator
           CLASS @IVBSAXLocator
               CLSID, 796E7AC5-5AA2-4EFF-ACAD-3FAAF01A3288
               NAME, "IVBSAXLocator"
      *[Class: @IVBSAXLocator] columnNumber
      * Get the column number where the current document event ends.
               PROPERTY-GET, 1313, @columnNumber
                       RETURNING "int", TYPE 22
      *[Class: @IVBSAXLocator] lineNumber
      * Get the line number where the current document event ends.
               PROPERTY-GET, 1314, @lineNumber
                       RETURNING "int", TYPE 22
      *[Class: @IVBSAXLocator] publicId
      * Get the public identifier for the current document event.
               PROPERTY-GET, 1315, @publicId
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXLocator] systemId
      * Get the system identifier for the current document event.
               PROPERTY-GET, 1316, @systemId
                       RETURNING "BSTR", TYPE 8
           
      * IVBSAXAttributes interface
           
      * IVBSAXAttributes
           CLASS @IVBSAXAttributes
               CLSID, 10DC0586-132B-4CAC-8BB3-DB00AC8B7EE0
               NAME, "IVBSAXAttributes"
      *[Class: @IVBSAXAttributes] length
      * Get the number of attributes in the list.
               PROPERTY-GET, 1344, @length
                       RETURNING "int", TYPE 22
      *[Class: @IVBSAXAttributes] getURI
      * Look up an attribute's Namespace URI by index.
               METHOD, 1345, @getURI,
                   "int" @nIndex, TYPE 22
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getLocalName
      * Look up an attribute's local name by index.
               METHOD, 1346, @getLocalName,
                   "int" @nIndex, TYPE 22
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getQName
      * Look up an attribute's XML 1.0 qualified name by index.
               METHOD, 1347, @getQName,
                   "int" @nIndex, TYPE 22
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getIndexFromName
      * Look up the index of an attribute by Namespace name.
               METHOD, 1348, @getIndexFromName,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8
                       RETURNING "int", TYPE 22
      *[Class: @IVBSAXAttributes] getIndexFromQName
      * Look up the index of an attribute by XML 1.0 qualified name.
               METHOD, 1349, @getIndexFromQName,
                   "BSTR" @strQName, TYPE 8
                       RETURNING "int", TYPE 22
      *[Class: @IVBSAXAttributes] getType
      * Look up an attribute's type by index.
               METHOD, 1350, @getType,
                   "int" @nIndex, TYPE 22
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getTypeFromName
      * Look up an attribute's type by Namespace name.
               METHOD, 1351, @getTypeFromName,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getTypeFromQName
      * Look up an attribute's type by XML 1.0 qualified name.
               METHOD, 1352, @getTypeFromQName,
                   "BSTR" @strQName, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getValue
      * Look up an attribute's value by index.
               METHOD, 1353, @getValue,
                   "int" @nIndex, TYPE 22
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getValueFromName
      * Look up an attribute's value by Namespace name.
               METHOD, 1354, @getValueFromName,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IVBSAXAttributes] getValueFromQName
      * Look up an attribute's value by XML 1.0 qualified name.
               METHOD, 1355, @getValueFromQName,
                   "BSTR" @strQName, TYPE 8
                       RETURNING "BSTR", TYPE 8
           
      * IVBSAXDTDHandler interface
           
      * IVBSAXDTDHandler
           CLASS @IVBSAXDTDHandler
               CLSID, 24FB3297-302D-4620-BA39-3A732D850558
               NAME, "IVBSAXDTDHandler"
      *[Class: @IVBSAXDTDHandler] notationDecl
      * Receive notification of a notation declaration event.
               METHOD, 1335, @notationDecl,
                   "BSTR*" @strName, TYPE 16392,
                   "BSTR*" @strPublicId, TYPE 16392,
                   "BSTR*" @strSystemId, TYPE 16392
      *[Class: @IVBSAXDTDHandler] unparsedEntityDecl
      * Receive notification of an unparsed entity declaration event.
               METHOD, 1336, @unparsedEntityDecl,
                   "BSTR*" @strName, TYPE 16392,
                   "BSTR*" @strPublicId, TYPE 16392,
                   "BSTR*" @strSystemId, TYPE 16392,
                   "BSTR*" @strNotationName, TYPE 16392
           
      * IVBSAXErrorHandler interface
           
      * IVBSAXErrorHandler
           CLASS @IVBSAXErrorHandler
               CLSID, D963D3FE-173C-4862-9095-B92F66995F52
               NAME, "IVBSAXErrorHandler"
      *[Class: @IVBSAXErrorHandler] error
      * Receive notification of a recoverable error.
               METHOD, 1339, @error,
                   "IVBSAXLocator*" @oLocator, TYPE 9,
                   "BSTR*" @strErrorMessage, TYPE 16392,
                   "long" @nErrorCode, TYPE 3
      *[Class: @IVBSAXErrorHandler] fatalError
      * Receive notification of a non-recoverable error.
               METHOD, 1340, @fatalError,
                   "IVBSAXLocator*" @oLocator, TYPE 9,
                   "BSTR*" @strErrorMessage, TYPE 16392,
                   "long" @nErrorCode, TYPE 3
      *[Class: @IVBSAXErrorHandler] ignorableWarning
      * Receive notification of an ignorable warning.
               METHOD, 1341, @ignorableWarning,
                   "IVBSAXLocator*" @oLocator, TYPE 9,
                   "BSTR*" @strErrorMessage, TYPE 16392,
                   "long" @nErrorCode, TYPE 3
           
      * IVBSAXXMLFilter interface
           
      * IVBSAXXMLFilter
           CLASS @IVBSAXXMLFilter
               CLSID, 1299EB1B-5B88-433E-82DE-82CA75AD4E04
               NAME, "IVBSAXXMLFilter"
      *[Class: @IVBSAXXMLFilter] parent
      * Set or get the parent reader
               PROPERTY-GET, 1309, @parent
                       RETURNING "IVBSAXXMLReader*", TYPE 9
      *[Class: @IVBSAXXMLFilter] parent
      * Set or get the parent reader
               PROPERTY-PUTREF, 1309, @parent,
                   "IVBSAXXMLReader* (Property_Value)", TYPE 9
           
      * IVBSAXLexicalHandler interface
           
      * IVBSAXLexicalHandler
           CLASS @IVBSAXLexicalHandler
               CLSID, 032AAC35-8C0E-4D9D-979F-E3B702935576
               NAME, "IVBSAXLexicalHandler"
      *[Class: @IVBSAXLexicalHandler] startDTD
      * Report the start of DTD declarations, if any.
               METHOD, 1358, @startDTD,
                   "BSTR*" @strName, TYPE 16392,
                   "BSTR*" @strPublicId, TYPE 16392,
                   "BSTR*" @strSystemId, TYPE 16392
      *[Class: @IVBSAXLexicalHandler] endDTD
      * Report the end of DTD declarations.
               METHOD, 1359, @endDTD
      *[Class: @IVBSAXLexicalHandler] startEntity
      * Report the beginning of some internal and external XML entities.
               METHOD, 1360, @startEntity,
                   "BSTR*" @strName, TYPE 16392
      *[Class: @IVBSAXLexicalHandler] endEntity
      * Report the end of an entity.
               METHOD, 1361, @endEntity,
                   "BSTR*" @strName, TYPE 16392
      *[Class: @IVBSAXLexicalHandler] startCDATA
      * Report the start of a CDATA section.
               METHOD, 1362, @startCDATA
      *[Class: @IVBSAXLexicalHandler] endCDATA
      * Report the end of a CDATA section.
               METHOD, 1363, @endCDATA
      *[Class: @IVBSAXLexicalHandler] comment
      * Report an XML comment anywhere in the document.
               METHOD, 1364, @comment,
                   "BSTR*" @strChars, TYPE 16392
           
      * IVBSAXDeclHandler interface
           
      * IVBSAXDeclHandler
           CLASS @IVBSAXDeclHandler
               CLSID, E8917260-7579-4BE1-B5DD-7AFBFA6F077B
               NAME, "IVBSAXDeclHandler"
      *[Class: @IVBSAXDeclHandler] elementDecl
      * Report an element type declaration.
               METHOD, 1367, @elementDecl,
                   "BSTR*" @strName, TYPE 16392,
                   "BSTR*" @strModel, TYPE 16392
      *[Class: @IVBSAXDeclHandler] attributeDecl
      * Report an attribute type declaration.
               METHOD, 1368, @attributeDecl,
                   "BSTR*" @strElementName, TYPE 16392,
                   "BSTR*" @strAttributeName, TYPE 16392,
                   "BSTR*" @strType, TYPE 16392,
                   "BSTR*" @strValueDefault, TYPE 16392,
                   "BSTR*" @strValue, TYPE 16392
      *[Class: @IVBSAXDeclHandler] internalEntityDecl
      * Report an internal entity declaration.
               METHOD, 1369, @internalEntityDecl,
                   "BSTR*" @strName, TYPE 16392,
                   "BSTR*" @strValue, TYPE 16392
      *[Class: @IVBSAXDeclHandler] externalEntityDecl
      * Report a parsed external entity declaration.
               METHOD, 1370, @externalEntityDecl,
                   "BSTR*" @strName, TYPE 16392,
                   "BSTR*" @strPublicId, TYPE 16392,
                   "BSTR*" @strSystemId, TYPE 16392
           
      * IMXWriter interface
           
      * IMXWriter
           CLASS @IMXWriter
               CLSID, 4D7FF4BA-1565-4EA8-94E1-6E724A46F98D
               NAME, "IMXWriter"
      *[Class: @IMXWriter] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @IMXWriter] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IMXWriter] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IMXWriter] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @IMXWriter] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IMXWriter] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @IMXWriter] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IMXWriter] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @IMXWriter] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IMXWriter] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @IMXWriter] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IMXWriter] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @IMXWriter] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IMXWriter] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @IMXWriter] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IMXWriter] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @IMXWriter] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * IMXAttributes interface
           
      * IMXAttributes
           CLASS @IMXAttributes
               CLSID, F10D27CC-3EC0-415C-8ED8-77AB1C5E7262
               NAME, "IMXAttributes"
      *[Class: @IMXAttributes] addAttribute
      * Add an attribute to the end of the list.
               METHOD, 1373, @addAttribute,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @IMXAttributes] addAttributeFromIndex
      * Add an attribute, whose value is equal to the indexed attribute in the 
               METHOD, 1383, @addAttributeFromIndex,
                   "VARIANT" @varAtts, TYPE 12,
                   "int" @nIndex, TYPE 22
      *[Class: @IMXAttributes] clear
      * Clear the attribute list for reuse.
               METHOD, 1374, @clear
      *[Class: @IMXAttributes] removeAttribute
      * Remove an attribute from the list.
               METHOD, 1375, @removeAttribute,
                   "int" @nIndex, TYPE 22
      *[Class: @IMXAttributes] setAttribute
      * Set an attribute in the list.
               METHOD, 1376, @setAttribute,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @IMXAttributes] setAttributes
      * Copy an entire Attributes object.
               METHOD, 1377, @setAttributes,
                   "VARIANT" @varAtts, TYPE 12
      *[Class: @IMXAttributes] setLocalName
      * Set the local name of a specific attribute.
               METHOD, 1378, @setLocalName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strLocalName, TYPE 8
      *[Class: @IMXAttributes] setQName
      * Set the qualified name of a specific attribute.
               METHOD, 1379, @setQName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strQName, TYPE 8
      *[Class: @IMXAttributes] setType
      * Set the type of a specific attribute.
               METHOD, 1380, @setType,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strType, TYPE 8
      *[Class: @IMXAttributes] setURI
      * Set the Namespace URI of a specific attribute.
               METHOD, 1381, @setURI,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8
      *[Class: @IMXAttributes] setValue
      * Set the value of a specific attribute.
               METHOD, 1382, @setValue,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strValue, TYPE 8
           
      * IMXReaderControl interface
           
      * IMXReaderControl
           CLASS @IMXReaderControl
               CLSID, 808F4E35-8D5A-4FBE-8466-33A41279ED30
               NAME, "IMXReaderControl"
      *[Class: @IMXReaderControl] abort
      * Abort the reader
               METHOD, 1398, @abort
      *[Class: @IMXReaderControl] resume
      * Resume the reader
               METHOD, 1399, @resume
      *[Class: @IMXReaderControl] suspend
      * Suspend the reader
               METHOD, 1400, @suspend
           
      * IMXSchemaDeclHandler interface
           
      * IMXSchemaDeclHandler
           CLASS @IMXSchemaDeclHandler
               CLSID, FA4BB38C-FAF9-4CCA-9302-D1DD0FE520DB
               NAME, "IMXSchemaDeclHandler"
      *[Class: @IMXSchemaDeclHandler] schemaElementDecl
      * Access schema element declaration
               METHOD, 1403, @schemaElementDecl,
                   "ISchemaElement*" @oSchemaElement, TYPE 9
           
      * XML Schema Element
           
      * ISchemaElement
           CLASS @ISchemaElement
               CLSID, 50EA08B7-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaElement"
      *[Class: @ISchemaElement] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaElement] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaElement] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaElement] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaElement] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaElement] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaElement] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaElement] minOccurs
               PROPERTY-GET, 1455, @minOccurs
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaElement] maxOccurs
               PROPERTY-GET, 1451, @maxOccurs
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaElement] type
               PROPERTY-GET, 1476, @type
                       RETURNING "ISchemaType*", TYPE 9
      *[Class: @ISchemaElement] scope
               PROPERTY-GET, 1469, @scope
                       RETURNING "ISchemaComplexType*", TYPE 9
      *[Class: @ISchemaElement] defaultValue
               PROPERTY-GET, 1431, @defaultValue
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaElement] fixedValue
               PROPERTY-GET, 1438, @fixedValue
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaElement] isNillable
               PROPERTY-GET, 1443, @isNillable
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaElement] identityConstraints
               PROPERTY-GET, 1441, @identityConstraints
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchemaElement] substitutionGroup
               PROPERTY-GET, 1471, @substitutionGroup
                       RETURNING "ISchemaElement*", TYPE 9
      *[Class: @ISchemaElement] substitutionGroupExclusions
               PROPERTY-GET, 1472, @substitutionGroupExclusions
                       RETURNING "SCHEMADERIVATIONMETHOD", TYPE 29
      *[Class: @ISchemaElement] disallowedSubstitutions
               PROPERTY-GET, 1433, @disallowedSubstitutions
                       RETURNING "SCHEMADERIVATIONMETHOD", TYPE 29
      *[Class: @ISchemaElement] isAbstract
               PROPERTY-GET, 1442, @isAbstract
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaElement] isReference
               PROPERTY-GET, 1444, @isReference
                       RETURNING "boolean", TYPE 11
           
      * XML Schema Particle
           
      * ISchemaParticle
           CLASS @ISchemaParticle
               CLSID, 50EA08B5-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaParticle"
      *[Class: @ISchemaParticle] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaParticle] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaParticle] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaParticle] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaParticle] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaParticle] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaParticle] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaParticle] minOccurs
               PROPERTY-GET, 1455, @minOccurs
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaParticle] maxOccurs
               PROPERTY-GET, 1451, @maxOccurs
                       RETURNING "VARIANT", TYPE 12
           
      * XML Schema Item
           
      * ISchemaItem
           CLASS @ISchemaItem
               CLSID, 50EA08B3-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaItem"
      *[Class: @ISchemaItem] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaItem] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaItem] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaItem] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaItem] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaItem] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaItem] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
           
      * XML Schema
           
      * ISchema
           CLASS @ISchema
               CLSID, 50EA08B4-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchema"
      *[Class: @ISchema] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchema] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchema] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchema] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchema] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchema] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchema] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchema] targetNamespace
               PROPERTY-GET, 1474, @targetNamespace
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchema] version
               PROPERTY-GET, 1481, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchema] types
               PROPERTY-GET, 1477, @types
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchema] elements
               PROPERTY-GET, 1434, @elements
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchema] attributes
               PROPERTY-GET, 1427, @attributes
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchema] attributeGroups
               PROPERTY-GET, 1426, @attributeGroups
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchema] modelGroups
               PROPERTY-GET, 1456, @modelGroups
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchema] notations
               PROPERTY-GET, 1460, @notations
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchema] schemaLocations
               PROPERTY-GET, 1468, @schemaLocations
                       RETURNING "ISchemaStringCollection*", TYPE 9
           
      * XML Schema Item Collection
           
      * ISchemaItemCollection
           CLASS @ISchemaItemCollection
               CLSID, 50EA08B2-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaItemCollection"
      *[Class: @ISchemaItemCollection] item
               PROPERTY-GET, 0, @item,
                   "long" @index, TYPE 3
                       RETURNING "ISchemaItem*", TYPE 9
      *[Class: @ISchemaItemCollection] itemByName
               METHOD, 1423, @itemByName,
                   "BSTR" @name, TYPE 8
                       RETURNING "ISchemaItem*", TYPE 9
      *[Class: @ISchemaItemCollection] itemByQName
               METHOD, 1424, @itemByQName,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "ISchemaItem*", TYPE 9
      *[Class: @ISchemaItemCollection] length
               PROPERTY-GET, 1447, @length
                       RETURNING "long", TYPE 3
           
      * XML Schema String Collection
           
      * ISchemaStringCollection
           CLASS @ISchemaStringCollection
               CLSID, 50EA08B1-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaStringCollection"
      *[Class: @ISchemaStringCollection] item
               PROPERTY-GET, 0, @item,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaStringCollection] length
               PROPERTY-GET, 1447, @length
                       RETURNING "long", TYPE 3
           
      * Schema Object Model Item Types
           
      * _SOMITEMTYPE
           CLASS @_SOMITEMTYPE
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SOMITEMTYPE"
      * "long SOMITEM_SCHEMA"
               ENUMERATOR, @SOMITEM_SCHEMA, 4096
      * "long SOMITEM_ATTRIBUTE"
               ENUMERATOR, @SOMITEM_ATTRIBUTE, 4097
      * "long SOMITEM_ATTRIBUTEGROUP"
               ENUMERATOR, @SOMITEM_ATTRIBUTEGROUP, 4098
      * "long SOMITEM_NOTATION"
               ENUMERATOR, @SOMITEM_NOTATION, 4099
      * "long SOMITEM_ANNOTATION"
               ENUMERATOR, @SOMITEM_ANNOTATION, 4100
      * "long SOMITEM_IDENTITYCONSTRAINT"
               ENUMERATOR, @SOMITEM_IDENTITYCONSTRAINT, 4352
      * "long SOMITEM_KEY"
               ENUMERATOR, @SOMITEM_KEY, 4353
      * "long SOMITEM_KEYREF"
               ENUMERATOR, @SOMITEM_KEYREF, 4354
      * "long SOMITEM_UNIQUE"
               ENUMERATOR, @SOMITEM_UNIQUE, 4355
      * "long SOMITEM_ANYTYPE"
               ENUMERATOR, @SOMITEM_ANYTYPE, 8192
      * "long SOMITEM_DATATYPE"
               ENUMERATOR, @SOMITEM_DATATYPE, 8448
      * "long SOMITEM_DATATYPE_ANYTYPE"
               ENUMERATOR, @SOMITEM_DATATYPE_ANYTYPE, 8449
      * "long SOMITEM_DATATYPE_ANYURI"
               ENUMERATOR, @SOMITEM_DATATYPE_ANYURI, 8450
      * "long SOMITEM_DATATYPE_BASE64BINARY"
               ENUMERATOR, @SOMITEM_DATATYPE_BASE64BINARY, 8451
      * "long SOMITEM_DATATYPE_BOOLEAN"
               ENUMERATOR, @SOMITEM_DATATYPE_BOOLEAN, 8452
      * "long SOMITEM_DATATYPE_BYTE"
               ENUMERATOR, @SOMITEM_DATATYPE_BYTE, 8453
      * "long SOMITEM_DATATYPE_DATE"
               ENUMERATOR, @SOMITEM_DATATYPE_DATE, 8454
      * "long SOMITEM_DATATYPE_DATETIME"
               ENUMERATOR, @SOMITEM_DATATYPE_DATETIME, 8455
      * "long SOMITEM_DATATYPE_DAY"
               ENUMERATOR, @SOMITEM_DATATYPE_DAY, 8456
      * "long SOMITEM_DATATYPE_DECIMAL"
               ENUMERATOR, @SOMITEM_DATATYPE_DECIMAL, 8457
      * "long SOMITEM_DATATYPE_DOUBLE"
               ENUMERATOR, @SOMITEM_DATATYPE_DOUBLE, 8458
      * "long SOMITEM_DATATYPE_DURATION"
               ENUMERATOR, @SOMITEM_DATATYPE_DURATION, 8459
      * "long SOMITEM_DATATYPE_ENTITIES"
               ENUMERATOR, @SOMITEM_DATATYPE_ENTITIES, 8460
      * "long SOMITEM_DATATYPE_ENTITY"
               ENUMERATOR, @SOMITEM_DATATYPE_ENTITY, 8461
      * "long SOMITEM_DATATYPE_FLOAT"
               ENUMERATOR, @SOMITEM_DATATYPE_FLOAT, 8462
      * "long SOMITEM_DATATYPE_HEXBINARY"
               ENUMERATOR, @SOMITEM_DATATYPE_HEXBINARY, 8463
      * "long SOMITEM_DATATYPE_ID"
               ENUMERATOR, @SOMITEM_DATATYPE_ID, 8464
      * "long SOMITEM_DATATYPE_IDREF"
               ENUMERATOR, @SOMITEM_DATATYPE_IDREF, 8465
      * "long SOMITEM_DATATYPE_IDREFS"
               ENUMERATOR, @SOMITEM_DATATYPE_IDREFS, 8466
      * "long SOMITEM_DATATYPE_INT"
               ENUMERATOR, @SOMITEM_DATATYPE_INT, 8467
      * "long SOMITEM_DATATYPE_INTEGER"
               ENUMERATOR, @SOMITEM_DATATYPE_INTEGER, 8468
      * "long SOMITEM_DATATYPE_LANGUAGE"
               ENUMERATOR, @SOMITEM_DATATYPE_LANGUAGE, 8469
      * "long SOMITEM_DATATYPE_LONG"
               ENUMERATOR, @SOMITEM_DATATYPE_LONG, 8470
      * "long SOMITEM_DATATYPE_MONTH"
               ENUMERATOR, @SOMITEM_DATATYPE_MONTH, 8471
      * "long SOMITEM_DATATYPE_MONTHDAY"
               ENUMERATOR, @SOMITEM_DATATYPE_MONTHDAY, 8472
      * "long SOMITEM_DATATYPE_NAME"
               ENUMERATOR, @SOMITEM_DATATYPE_NAME, 8473
      * "long SOMITEM_DATATYPE_NCNAME"
               ENUMERATOR, @SOMITEM_DATATYPE_NCNAME, 8474
      * "long SOMITEM_DATATYPE_NEGATIVEINTEGER"
               ENUMERATOR, @SOMITEM_DATATYPE_NEGATIVEINTEGER, 8475
      * "long SOMITEM_DATATYPE_NMTOKEN"
               ENUMERATOR, @SOMITEM_DATATYPE_NMTOKEN, 8476
      * "long SOMITEM_DATATYPE_NMTOKENS"
               ENUMERATOR, @SOMITEM_DATATYPE_NMTOKENS, 8477
      * "long SOMITEM_DATATYPE_NONNEGATIVEINTEGER"
               ENUMERATOR, @SOMITEM_DATATYPE_NONNEGATIVEINTEGER, 8478
      * "long SOMITEM_DATATYPE_NONPOSITIVEINTEGER"
               ENUMERATOR, @SOMITEM_DATATYPE_NONPOSITIVEINTEGER, 8479
      * "long SOMITEM_DATATYPE_NORMALIZEDSTRING"
               ENUMERATOR, @SOMITEM_DATATYPE_NORMALIZEDSTRING, 8480
      * "long SOMITEM_DATATYPE_NOTATION"
               ENUMERATOR, @SOMITEM_DATATYPE_NOTATION, 8481
      * "long SOMITEM_DATATYPE_POSITIVEINTEGER"
               ENUMERATOR, @SOMITEM_DATATYPE_POSITIVEINTEGER, 8482
      * "long SOMITEM_DATATYPE_QNAME"
               ENUMERATOR, @SOMITEM_DATATYPE_QNAME, 8483
      * "long SOMITEM_DATATYPE_SHORT"
               ENUMERATOR, @SOMITEM_DATATYPE_SHORT, 8484
      * "long SOMITEM_DATATYPE_STRING"
               ENUMERATOR, @SOMITEM_DATATYPE_STRING, 8485
      * "long SOMITEM_DATATYPE_TIME"
               ENUMERATOR, @SOMITEM_DATATYPE_TIME, 8486
      * "long SOMITEM_DATATYPE_TOKEN"
               ENUMERATOR, @SOMITEM_DATATYPE_TOKEN, 8487
      * "long SOMITEM_DATATYPE_UNSIGNEDBYTE"
               ENUMERATOR, @SOMITEM_DATATYPE_UNSIGNEDBYTE, 8488
      * "long SOMITEM_DATATYPE_UNSIGNEDINT"
               ENUMERATOR, @SOMITEM_DATATYPE_UNSIGNEDINT, 8489
      * "long SOMITEM_DATATYPE_UNSIGNEDLONG"
               ENUMERATOR, @SOMITEM_DATATYPE_UNSIGNEDLONG, 8490
      * "long SOMITEM_DATATYPE_UNSIGNEDSHORT"
               ENUMERATOR, @SOMITEM_DATATYPE_UNSIGNEDSHORT, 8491
      * "long SOMITEM_DATATYPE_YEAR"
               ENUMERATOR, @SOMITEM_DATATYPE_YEAR, 8492
      * "long SOMITEM_DATATYPE_YEARMONTH"
               ENUMERATOR, @SOMITEM_DATATYPE_YEARMONTH, 8493
      * "long SOMITEM_DATATYPE_ANYSIMPLETYPE"
               ENUMERATOR, @SOMITEM_DATATYPE_ANYSIMPLETYPE, 8703
      * "long SOMITEM_SIMPLETYPE"
               ENUMERATOR, @SOMITEM_SIMPLETYPE, 8704
      * "long SOMITEM_COMPLEXTYPE"
               ENUMERATOR, @SOMITEM_COMPLEXTYPE, 9216
      * "long SOMITEM_PARTICLE"
               ENUMERATOR, @SOMITEM_PARTICLE, 16384
      * "long SOMITEM_ANY"
               ENUMERATOR, @SOMITEM_ANY, 16385
      * "long SOMITEM_ANYATTRIBUTE"
               ENUMERATOR, @SOMITEM_ANYATTRIBUTE, 16386
      * "long SOMITEM_ELEMENT"
               ENUMERATOR, @SOMITEM_ELEMENT, 16387
      * "long SOMITEM_GROUP"
               ENUMERATOR, @SOMITEM_GROUP, 16640
      * "long SOMITEM_ALL"
               ENUMERATOR, @SOMITEM_ALL, 16641
      * "long SOMITEM_CHOICE"
               ENUMERATOR, @SOMITEM_CHOICE, 16642
      * "long SOMITEM_SEQUENCE"
               ENUMERATOR, @SOMITEM_SEQUENCE, 16643
      * "long SOMITEM_EMPTYPARTICLE"
               ENUMERATOR, @SOMITEM_EMPTYPARTICLE, 16644
      * "long SOMITEM_NULL"
               ENUMERATOR, @SOMITEM_NULL, 2048
      * "long SOMITEM_NULL_TYPE"
               ENUMERATOR, @SOMITEM_NULL_TYPE, 10240
      * "long SOMITEM_NULL_ANY"
               ENUMERATOR, @SOMITEM_NULL_ANY, 18433
      * "long SOMITEM_NULL_ANYATTRIBUTE"
               ENUMERATOR, @SOMITEM_NULL_ANYATTRIBUTE, 18434
      * "long SOMITEM_NULL_ELEMENT"
               ENUMERATOR, @SOMITEM_NULL_ELEMENT, 18435
           
      * XML Schema Type
           
      * ISchemaType
           CLASS @ISchemaType
               CLSID, 50EA08B8-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaType"
      *[Class: @ISchemaType] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaType] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaType] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaType] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaType] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaType] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaType] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaType] baseTypes
               PROPERTY-GET, 1428, @baseTypes
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchemaType] final
               PROPERTY-GET, 1437, @final
                       RETURNING "SCHEMADERIVATIONMETHOD", TYPE 29
      *[Class: @ISchemaType] variety
               PROPERTY-GET, 1480, @variety
                       RETURNING "SCHEMATYPEVARIETY", TYPE 29
      *[Class: @ISchemaType] derivedBy
               PROPERTY-GET, 1432, @derivedBy
                       RETURNING "SCHEMADERIVATIONMETHOD", TYPE 29
      *[Class: @ISchemaType] isValid
               METHOD, 1445, @isValid,
                   "BSTR" @data, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaType] minExclusive
               PROPERTY-GET, 1452, @minExclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaType] minInclusive
               PROPERTY-GET, 1453, @minInclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaType] maxExclusive
               PROPERTY-GET, 1448, @maxExclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaType] maxInclusive
               PROPERTY-GET, 1449, @maxInclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaType] totalDigits
               PROPERTY-GET, 1475, @totalDigits
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaType] fractionDigits
               PROPERTY-GET, 1439, @fractionDigits
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaType] length
               PROPERTY-GET, 1447, @length
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaType] minLength
               PROPERTY-GET, 1454, @minLength
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaType] maxLength
               PROPERTY-GET, 1450, @maxLength
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaType] enumeration
               PROPERTY-GET, 1435, @enumeration
                       RETURNING "ISchemaStringCollection*", TYPE 9
      *[Class: @ISchemaType] whitespace
               PROPERTY-GET, 1482, @whitespace
                       RETURNING "SCHEMAWHITESPACE", TYPE 29
      *[Class: @ISchemaType] patterns
               PROPERTY-GET, 1462, @patterns
                       RETURNING "ISchemaStringCollection*", TYPE 9
           
      * Schema Object Model Filters
           
      * _SCHEMADERIVATIONMETHOD
           CLASS @_SCHEMADERIVATIONMETHOD
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SCHEMADERIVATIONMETHOD"
      * "long SCHEMADERIVATIONMETHOD_EMPTY"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_EMPTY, 0
      * "long SCHEMADERIVATIONMETHOD_SUBSTITUTION"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_SUBSTITUTION, 1
      * "long SCHEMADERIVATIONMETHOD_EXTENSION"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_EXTENSION, 2
      * "long SCHEMADERIVATIONMETHOD_RESTRICTION"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_RESTRICTION, 4
      * "long SCHEMADERIVATIONMETHOD_LIST"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_LIST, 8
      * "long SCHEMADERIVATIONMETHOD_UNION"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_UNION, 16
      * "long SCHEMADERIVATIONMETHOD_ALL"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_ALL, 255
      * "long SCHEMADERIVATIONMETHOD_NONE"
               ENUMERATOR, @SCHEMADERIVATIONMETHOD_NONE, 256
           
      * Schema Object Model Type variety values
           
      * _SCHEMATYPEVARIETY
           CLASS @_SCHEMATYPEVARIETY
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SCHEMATYPEVARIETY"
      * "long SCHEMATYPEVARIETY_NONE"
               ENUMERATOR, @SCHEMATYPEVARIETY_NONE, -1
      * "long SCHEMATYPEVARIETY_ATOMIC"
               ENUMERATOR, @SCHEMATYPEVARIETY_ATOMIC, 0
      * "long SCHEMATYPEVARIETY_LIST"
               ENUMERATOR, @SCHEMATYPEVARIETY_LIST, 1
      * "long SCHEMATYPEVARIETY_UNION"
               ENUMERATOR, @SCHEMATYPEVARIETY_UNION, 2
           
      * Schema Object Model Whitespace facet values
           
      * _SCHEMAWHITESPACE
           CLASS @_SCHEMAWHITESPACE
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SCHEMAWHITESPACE"
      * "long SCHEMAWHITESPACE_NONE"
               ENUMERATOR, @SCHEMAWHITESPACE_NONE, -1
      * "long SCHEMAWHITESPACE_PRESERVE"
               ENUMERATOR, @SCHEMAWHITESPACE_PRESERVE, 0
      * "long SCHEMAWHITESPACE_REPLACE"
               ENUMERATOR, @SCHEMAWHITESPACE_REPLACE, 1
      * "long SCHEMAWHITESPACE_COLLAPSE"
               ENUMERATOR, @SCHEMAWHITESPACE_COLLAPSE, 2
           
      * XML Schema Complex Type
           
      * ISchemaComplexType
           CLASS @ISchemaComplexType
               CLSID, 50EA08B9-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaComplexType"
      *[Class: @ISchemaComplexType] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaComplexType] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaComplexType] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaComplexType] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaComplexType] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaComplexType] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaComplexType] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaComplexType] baseTypes
               PROPERTY-GET, 1428, @baseTypes
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchemaComplexType] final
               PROPERTY-GET, 1437, @final
                       RETURNING "SCHEMADERIVATIONMETHOD", TYPE 29
      *[Class: @ISchemaComplexType] variety
               PROPERTY-GET, 1480, @variety
                       RETURNING "SCHEMATYPEVARIETY", TYPE 29
      *[Class: @ISchemaComplexType] derivedBy
               PROPERTY-GET, 1432, @derivedBy
                       RETURNING "SCHEMADERIVATIONMETHOD", TYPE 29
      *[Class: @ISchemaComplexType] isValid
               METHOD, 1445, @isValid,
                   "BSTR" @data, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaComplexType] minExclusive
               PROPERTY-GET, 1452, @minExclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaComplexType] minInclusive
               PROPERTY-GET, 1453, @minInclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaComplexType] maxExclusive
               PROPERTY-GET, 1448, @maxExclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaComplexType] maxInclusive
               PROPERTY-GET, 1449, @maxInclusive
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaComplexType] totalDigits
               PROPERTY-GET, 1475, @totalDigits
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaComplexType] fractionDigits
               PROPERTY-GET, 1439, @fractionDigits
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaComplexType] length
               PROPERTY-GET, 1447, @length
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaComplexType] minLength
               PROPERTY-GET, 1454, @minLength
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaComplexType] maxLength
               PROPERTY-GET, 1450, @maxLength
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaComplexType] enumeration
               PROPERTY-GET, 1435, @enumeration
                       RETURNING "ISchemaStringCollection*", TYPE 9
      *[Class: @ISchemaComplexType] whitespace
               PROPERTY-GET, 1482, @whitespace
                       RETURNING "SCHEMAWHITESPACE", TYPE 29
      *[Class: @ISchemaComplexType] patterns
               PROPERTY-GET, 1462, @patterns
                       RETURNING "ISchemaStringCollection*", TYPE 9
      *[Class: @ISchemaComplexType] isAbstract
               PROPERTY-GET, 1442, @isAbstract
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaComplexType] anyAttribute
               PROPERTY-GET, 1425, @anyAttribute
                       RETURNING "ISchemaAny*", TYPE 9
      *[Class: @ISchemaComplexType] attributes
               PROPERTY-GET, 1427, @attributes
                       RETURNING "ISchemaItemCollection*", TYPE 9
      *[Class: @ISchemaComplexType] contentType
               PROPERTY-GET, 1430, @contentType
                       RETURNING "SCHEMACONTENTTYPE", TYPE 29
      *[Class: @ISchemaComplexType] contentModel
               PROPERTY-GET, 1429, @contentModel
                       RETURNING "ISchemaModelGroup*", TYPE 9
      *[Class: @ISchemaComplexType] prohibitedSubstitutions
               PROPERTY-GET, 1464, @prohibitedSubstitutions
                       RETURNING "SCHEMADERIVATIONMETHOD", TYPE 29
           
      * XML Schema Any
           
      * ISchemaAny
           CLASS @ISchemaAny
               CLSID, 50EA08BC-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaAny"
      *[Class: @ISchemaAny] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAny] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAny] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaAny] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAny] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaAny] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaAny] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaAny] minOccurs
               PROPERTY-GET, 1455, @minOccurs
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaAny] maxOccurs
               PROPERTY-GET, 1451, @maxOccurs
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaAny] namespaces
               PROPERTY-GET, 1458, @namespaces
                       RETURNING "ISchemaStringCollection*", TYPE 9
      *[Class: @ISchemaAny] processContents
               PROPERTY-GET, 1463, @processContents
                       RETURNING "SCHEMAPROCESSCONTENTS", TYPE 29
           
      * Schema Object Model Process Contents
           
      * _SCHEMAPROCESSCONTENTS
           CLASS @_SCHEMAPROCESSCONTENTS
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SCHEMAPROCESSCONTENTS"
      * "long SCHEMAPROCESSCONTENTS_NONE"
               ENUMERATOR, @SCHEMAPROCESSCONTENTS_NONE, 0
      * "long SCHEMAPROCESSCONTENTS_SKIP"
               ENUMERATOR, @SCHEMAPROCESSCONTENTS_SKIP, 1
      * "long SCHEMAPROCESSCONTENTS_LAX"
               ENUMERATOR, @SCHEMAPROCESSCONTENTS_LAX, 2
      * "long SCHEMAPROCESSCONTENTS_STRICT"
               ENUMERATOR, @SCHEMAPROCESSCONTENTS_STRICT, 3
           
      * Schema Object Model Content Types
           
      * _SCHEMACONTENTTYPE
           CLASS @_SCHEMACONTENTTYPE
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SCHEMACONTENTTYPE"
      * "long SCHEMACONTENTTYPE_EMPTY"
               ENUMERATOR, @SCHEMACONTENTTYPE_EMPTY, 0
      * "long SCHEMACONTENTTYPE_TEXTONLY"
               ENUMERATOR, @SCHEMACONTENTTYPE_TEXTONLY, 1
      * "long SCHEMACONTENTTYPE_ELEMENTONLY"
               ENUMERATOR, @SCHEMACONTENTTYPE_ELEMENTONLY, 2
      * "long SCHEMACONTENTTYPE_MIXED"
               ENUMERATOR, @SCHEMACONTENTTYPE_MIXED, 3
           
      * XML Schema Type
           
      * ISchemaModelGroup
           CLASS @ISchemaModelGroup
               CLSID, 50EA08BB-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaModelGroup"
      *[Class: @ISchemaModelGroup] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaModelGroup] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaModelGroup] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaModelGroup] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaModelGroup] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaModelGroup] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaModelGroup] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaModelGroup] minOccurs
               PROPERTY-GET, 1455, @minOccurs
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaModelGroup] maxOccurs
               PROPERTY-GET, 1451, @maxOccurs
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ISchemaModelGroup] particles
               PROPERTY-GET, 1461, @particles
                       RETURNING "ISchemaItemCollection*", TYPE 9
           
      * IMXXMLFilter interface
           
      * IMXXMLFilter
           CLASS @IMXXMLFilter
               CLSID, C90352F7-643C-4FBC-BB23-E996EB2D51FD
               NAME, "IMXXMLFilter"
      *[Class: @IMXXMLFilter] getFeature
               METHOD, 1423, @getFeature,
                   "BSTR" @strName, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @IMXXMLFilter] putFeature
               METHOD, 1425, @putFeature,
                   "BSTR" @strName, TYPE 8,
                   "boolean" @fValue, TYPE 11
      *[Class: @IMXXMLFilter] getProperty
               METHOD, 1424, @getProperty,
                   "BSTR" @strName, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IMXXMLFilter] putProperty
               METHOD, 1426, @putProperty,
                   "BSTR" @strName, TYPE 8,
                   "VARIANT" @varValue, TYPE 12
      *[Class: @IMXXMLFilter] entityResolver
               PROPERTY-GET, 1421, @entityResolver
                       RETURNING "IUnknown*", TYPE 13
      *[Class: @IMXXMLFilter] entityResolver
               PROPERTY-PUTREF, 1421, @entityResolver,
                   "IUnknown* (Property_Value)", TYPE 13
      *[Class: @IMXXMLFilter] contentHandler
               PROPERTY-GET, 1419, @contentHandler
                       RETURNING "IUnknown*", TYPE 13
      *[Class: @IMXXMLFilter] contentHandler
               PROPERTY-PUTREF, 1419, @contentHandler,
                   "IUnknown* (Property_Value)", TYPE 13
      *[Class: @IMXXMLFilter] dtdHandler
               PROPERTY-GET, 1420, @dtdHandler
                       RETURNING "IUnknown*", TYPE 13
      *[Class: @IMXXMLFilter] dtdHandler
               PROPERTY-PUTREF, 1420, @dtdHandler,
                   "IUnknown* (Property_Value)", TYPE 13
      *[Class: @IMXXMLFilter] errorHandler
               PROPERTY-GET, 1422, @errorHandler
                       RETURNING "IUnknown*", TYPE 13
      *[Class: @IMXXMLFilter] errorHandler
               PROPERTY-PUTREF, 1422, @errorHandler,
                   "IUnknown* (Property_Value)", TYPE 13
           
      * XML Schemas Collection 2
           
      * IXMLDOMSchemaCollection2
           CLASS @IXMLDOMSchemaCollection2
               CLSID, 50EA08B0-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "IXMLDOMSchemaCollection2"
      *[Class: @IXMLDOMSchemaCollection2] add
      * add a new schema
               METHOD, 3, @add,
                   "BSTR" @namespaceURI, TYPE 8,
                   "VARIANT" @var, TYPE 12
      *[Class: @IXMLDOMSchemaCollection2] get
      * lookup schema by namespaceURI
               METHOD, 4, @get,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSchemaCollection2] remove
      * remove schema by namespaceURI
               METHOD, 5, @remove,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @IXMLDOMSchemaCollection2] length
      * number of schemas in collection
               PROPERTY-GET, 6, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMSchemaCollection2] namespaceURI
      * Get namespaceURI for schema by index
               PROPERTY-GET, 0, @namespaceURI,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMSchemaCollection2] addCollection
      * copy & merge other collection into this one
               METHOD, 8, @addCollection,
                   "IXMLDOMSchemaCollection*" @otherCollection, TYPE 9
      *[Class: @IXMLDOMSchemaCollection2] validate
               METHOD, 1419, @validate
      *[Class: @IXMLDOMSchemaCollection2] validateOnLoad
               PROPERTY-PUT, 1420, @validateOnLoad,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IXMLDOMSchemaCollection2] validateOnLoad
               PROPERTY-GET, 1420, @validateOnLoad
                       RETURNING "boolean", TYPE 11
      *[Class: @IXMLDOMSchemaCollection2] getSchema
               METHOD, 1421, @getSchema,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "ISchema*", TYPE 9
      *[Class: @IXMLDOMSchemaCollection2] getDeclaration
               METHOD, 1422, @getDeclaration,
                   "IXMLDOMNode*" @node, TYPE 9
                       RETURNING "ISchemaItem*", TYPE 9
           
      * XML Schema Attribute
           
      * ISchemaAttribute
           CLASS @ISchemaAttribute
               CLSID, 50EA08B6-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaAttribute"
      *[Class: @ISchemaAttribute] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttribute] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttribute] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaAttribute] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttribute] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaAttribute] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaAttribute] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaAttribute] type
               PROPERTY-GET, 1476, @type
                       RETURNING "ISchemaType*", TYPE 9
      *[Class: @ISchemaAttribute] scope
               PROPERTY-GET, 1469, @scope
                       RETURNING "ISchemaComplexType*", TYPE 9
      *[Class: @ISchemaAttribute] defaultValue
               PROPERTY-GET, 1431, @defaultValue
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttribute] fixedValue
               PROPERTY-GET, 1438, @fixedValue
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttribute] use
               PROPERTY-GET, 1479, @use
                       RETURNING "SCHEMAUSE", TYPE 29
      *[Class: @ISchemaAttribute] isReference
               PROPERTY-GET, 1444, @isReference
                       RETURNING "boolean", TYPE 11
           
      * Schema Object Model Attribute Uses
           
      * _SCHEMAUSE
           CLASS @_SCHEMAUSE
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SCHEMAUSE"
      * "long SCHEMAUSE_OPTIONAL"
               ENUMERATOR, @SCHEMAUSE_OPTIONAL, 0
      * "long SCHEMAUSE_PROHIBITED"
               ENUMERATOR, @SCHEMAUSE_PROHIBITED, 1
      * "long SCHEMAUSE_REQUIRED"
               ENUMERATOR, @SCHEMAUSE_REQUIRED, 2
           
      * XML Schema Attribute Group
           
      * ISchemaAttributeGroup
           CLASS @ISchemaAttributeGroup
               CLSID, 50EA08BA-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaAttributeGroup"
      *[Class: @ISchemaAttributeGroup] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttributeGroup] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttributeGroup] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaAttributeGroup] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaAttributeGroup] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaAttributeGroup] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaAttributeGroup] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaAttributeGroup] anyAttribute
               PROPERTY-GET, 1425, @anyAttribute
                       RETURNING "ISchemaAny*", TYPE 9
      *[Class: @ISchemaAttributeGroup] attributes
               PROPERTY-GET, 1427, @attributes
                       RETURNING "ISchemaItemCollection*", TYPE 9
           
      * XML Schema Any
           
      * ISchemaIdentityConstraint
           CLASS @ISchemaIdentityConstraint
               CLSID, 50EA08BD-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaIdentityConstraint"
      *[Class: @ISchemaIdentityConstraint] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaIdentityConstraint] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaIdentityConstraint] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaIdentityConstraint] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaIdentityConstraint] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaIdentityConstraint] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaIdentityConstraint] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaIdentityConstraint] selector
               PROPERTY-GET, 1470, @selector
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaIdentityConstraint] fields
               PROPERTY-GET, 1436, @fields
                       RETURNING "ISchemaStringCollection*", TYPE 9
      *[Class: @ISchemaIdentityConstraint] referencedKey
               PROPERTY-GET, 1466, @referencedKey
                       RETURNING "ISchemaIdentityConstraint*", TYPE 9
           
      * XML Schema Notation
           
      * ISchemaNotation
           CLASS @ISchemaNotation
               CLSID, 50EA08BE-DD1B-4664-9A50-C2F40F4BD79A
               NAME, "ISchemaNotation"
      *[Class: @ISchemaNotation] name
               PROPERTY-GET, 1457, @name
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaNotation] namespaceURI
               PROPERTY-GET, 1459, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaNotation] schema
               PROPERTY-GET, 1467, @schema
                       RETURNING "ISchema*", TYPE 9
      *[Class: @ISchemaNotation] id
               PROPERTY-GET, 1440, @id
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaNotation] itemType
               PROPERTY-GET, 1446, @itemType
                       RETURNING "SOMITEMTYPE", TYPE 29
      *[Class: @ISchemaNotation] unhandledAttributes
               PROPERTY-GET, 1478, @unhandledAttributes
                       RETURNING "IVBSAXAttributes*", TYPE 9
      *[Class: @ISchemaNotation] writeAnnotation
               METHOD, 1483, @writeAnnotation,
                   "IUnknown*" @annotationSink, TYPE 13
                       RETURNING "boolean", TYPE 11
      *[Class: @ISchemaNotation] systemIdentifier
               PROPERTY-GET, 1473, @systemIdentifier
                       RETURNING "BSTR", TYPE 8
      *[Class: @ISchemaNotation] publicIdentifier
               PROPERTY-GET, 1465, @publicIdentifier
                       RETURNING "BSTR", TYPE 8
           
      * IXMLDOMSelection
           CLASS @IXMLDOMSelection
               CLSID, AA634FC7-5888-44A7-A257-3A47150D3A0E
               NAME, "IXMLDOMSelection"
      *[Class: @IXMLDOMSelection] item
      * collection of nodes
               PROPERTY-GET, 0, @item,
                   "long" @index, TYPE 3
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSelection] length
      * number of nodes in the collection
               PROPERTY-GET, 74, @length
                       RETURNING "long", TYPE 3
      *[Class: @IXMLDOMSelection] nextNode
      * get next node from iterator
               METHOD, 76, @nextNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSelection] reset
      * reset the position of iterator
               METHOD, 77, @reset
      *[Class: @IXMLDOMSelection] expr
      * selection expression
               PROPERTY-GET, 81, @expr
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLDOMSelection] expr
      * selection expression
               PROPERTY-PUT, 81, @expr,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @IXMLDOMSelection] context
      * nodes to apply selection expression to
               PROPERTY-GET, 82, @context
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSelection] context
      * nodes to apply selection expression to
               PROPERTY-PUTREF, 82, @context,
                   "IXMLDOMNode* (Property_Value)", TYPE 9
      *[Class: @IXMLDOMSelection] peekNode
      * gets the next node without advancing the list position
               METHOD, 83, @peekNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSelection] matches
      * checks to see if the node matches the pattern
               METHOD, 84, @matches,
                   "IXMLDOMNode*" @pNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSelection] removeNext
      * removes the next node
               METHOD, 85, @removeNext
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @IXMLDOMSelection] removeAll
      * removes all the nodes that match the selection
               METHOD, 86, @removeAll
      *[Class: @IXMLDOMSelection] clone
      * clone this object with the same position and context
               METHOD, 87, @clone
                       RETURNING "IXMLDOMSelection*", TYPE 9
      *[Class: @IXMLDOMSelection] getProperty
      * get the value of the named property
               METHOD, 88, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLDOMSelection] setProperty
      * set the value of the named property
               METHOD, 89, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
           
      * XMLDOMDocumentEvents
           CLASS @XMLDOMDocumentEvents
               CLSID, 3EFAA427-272F-11D2-836F-0000F87A7782
               NAME, "XMLDOMDocumentEvents"
      *[Class: @XMLDOMDocumentEvents] ondataavailable
               METHOD, 198, @ondataavailable
                       RETURNING "HRESULT", TYPE 25
      *[Class: @XMLDOMDocumentEvents] onreadystatechange
               METHOD, -609, @onreadystatechange
                       RETURNING "HRESULT", TYPE 25
           
      * DSO Control
           
      * IDSOControl
           CLASS @IDSOControl
               CLSID, 310AFA62-0575-11D2-9CA9-0060B0EC3D39
               NAME, "IDSOControl"
      *[Class: @IDSOControl] XMLDocument
               PROPERTY-GET, 65537, @XMLDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @IDSOControl] XMLDocument
               PROPERTY-PUT, 65537, @XMLDocument,
                   "IXMLDOMDocument* (Property_Value)", TYPE 9
      *[Class: @IDSOControl] JavaDSOCompatible
               PROPERTY-GET, 65538, @JavaDSOCompatible
                       RETURNING "long", TYPE 3
      *[Class: @IDSOControl] JavaDSOCompatible
               PROPERTY-PUT, 65538, @JavaDSOCompatible,
                   "long (Property_Value)", TYPE 3
      *[Class: @IDSOControl] readyState
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
           
      * IXMLHTTPRequest Interface
           
      * IXMLHTTPRequest
           CLASS @IXMLHTTPRequest
               CLSID, ED8C108D-4349-11D2-91A4-00C04F7969E8
               NAME, "IXMLHTTPRequest"
      *[Class: @IXMLHTTPRequest] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @IXMLHTTPRequest] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @IXMLHTTPRequest] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLHTTPRequest] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLHTTPRequest] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @IXMLHTTPRequest] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @IXMLHTTPRequest] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @IXMLHTTPRequest] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLHTTPRequest] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @IXMLHTTPRequest] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IXMLHTTPRequest] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLHTTPRequest] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IXMLHTTPRequest] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @IXMLHTTPRequest] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
           
      * Options for ServerXMLHTTPRequest Option property
           
      * _SERVERXMLHTTP_OPTION
           CLASS @_SERVERXMLHTTP_OPTION
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SERVERXMLHTTP_OPTION"
      * "long SXH_OPTION_URL"
               ENUMERATOR, @SXH_OPTION_URL, -1
      * "long SXH_OPTION_URL_CODEPAGE"
               ENUMERATOR, @SXH_OPTION_URL_CODEPAGE, 0
      * "long SXH_OPTION_ESCAPE_PERCENT_IN_URL"
               ENUMERATOR, @SXH_OPTION_ESCAPE_PERCENT_IN_URL, 1
      * "long SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS"
               ENUMERATOR, @SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR, 2
      * "long SXH_OPTION_SELECT_CLIENT_SSL_CERT"
               ENUMERATOR, @SXH_OPTION_SELECT_CLIENT_SSL_CERT, 3
           
      * Flags for SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS option
           
      * _SXH_SERVER_CERT_OPTION
           CLASS @_SXH_SERVER_CERT_OPTION
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SXH_SERVER_CERT_OPTION"
      * "long SXH_SERVER_CERT_IGNORE_UNKNOWN_CA"
               ENUMERATOR, @SXH_SERVER_CERT_IGNORE_UNKNOWN_CA, 256
      * "long SXH_SERVER_CERT_IGNORE_WRONG_USAGE"
               ENUMERATOR, @SXH_SERVER_CERT_IGNORE_WRONG_USAGE, 512
      * "long SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID"
               ENUMERATOR, @SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID, 4096
      * "long SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID"
               ENUMERATOR, @SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALI, 
                   8192
      * "long SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS"
               ENUMERATOR, @SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERROR, 
                   13056
           
      * Settings for setProxy
           
      * _SXH_PROXY_SETTING
           CLASS @_SXH_PROXY_SETTING
               CLSID, 00000000-0000-0000-0000-000000000000
               NAME, "_SXH_PROXY_SETTING"
      * "long SXH_PROXY_SET_DEFAULT"
               ENUMERATOR, @SXH_PROXY_SET_DEFAULT, 0
      * "long SXH_PROXY_SET_PRECONFIG"
               ENUMERATOR, @SXH_PROXY_SET_PRECONFIG, 0
      * "long SXH_PROXY_SET_DIRECT"
               ENUMERATOR, @SXH_PROXY_SET_DIRECT, 1
      * "long SXH_PROXY_SET_PROXY"
               ENUMERATOR, @SXH_PROXY_SET_PROXY, 2
           
      * IServerXMLHTTPRequest Interface
           
      * IServerXMLHTTPRequest
           CLASS @IServerXMLHTTPRequest
               CLSID, 2E9196BF-13BA-4DD4-91CA-6C571F281495
               NAME, "IServerXMLHTTPRequest"
      *[Class: @IServerXMLHTTPRequest] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @IServerXMLHTTPRequest] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @IServerXMLHTTPRequest] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @IServerXMLHTTPRequest] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @IServerXMLHTTPRequest] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @IServerXMLHTTPRequest] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @IServerXMLHTTPRequest] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IServerXMLHTTPRequest] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IServerXMLHTTPRequest] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @IServerXMLHTTPRequest] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
      *[Class: @IServerXMLHTTPRequest] setTimeouts
      * Specify timeout settings (in milliseconds)
               METHOD, 15, @setTimeouts,
                   "long" @resolveTimeout, TYPE 3,
                   "long" @connectTimeout, TYPE 3,
                   "long" @sendTimeout, TYPE 3,
                   "long" @receiveTimeout, TYPE 3
      *[Class: @IServerXMLHTTPRequest] waitForResponse
      * Wait for asynchronous send to complete, with optional timeout (in 
               METHOD, 16, @waitForResponse,
                   "VARIANT" @timeoutInSeconds, TYPE 12
                       OPTIONAL 1
                       RETURNING "boolean", TYPE 11
      *[Class: @IServerXMLHTTPRequest] getOption
      * Get an option value
               METHOD, 17, @getOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IServerXMLHTTPRequest] setOption
      * Set an option value
               METHOD, 18, @setOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29,
                   "VARIANT" @value, TYPE 12
           
      * IServerXMLHTTPRequest2 Interface
           
      * IServerXMLHTTPRequest2
           CLASS @IServerXMLHTTPRequest2
               CLSID, 2E01311B-C322-4B0A-BD77-B90CFDC8DCE7
               NAME, "IServerXMLHTTPRequest2"
      *[Class: @IServerXMLHTTPRequest2] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @IServerXMLHTTPRequest2] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @IServerXMLHTTPRequest2] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest2] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest2] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @IServerXMLHTTPRequest2] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @IServerXMLHTTPRequest2] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @IServerXMLHTTPRequest2] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest2] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @IServerXMLHTTPRequest2] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @IServerXMLHTTPRequest2] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IServerXMLHTTPRequest2] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IServerXMLHTTPRequest2] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @IServerXMLHTTPRequest2] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
      *[Class: @IServerXMLHTTPRequest2] setTimeouts
      * Specify timeout settings (in milliseconds)
               METHOD, 15, @setTimeouts,
                   "long" @resolveTimeout, TYPE 3,
                   "long" @connectTimeout, TYPE 3,
                   "long" @sendTimeout, TYPE 3,
                   "long" @receiveTimeout, TYPE 3
      *[Class: @IServerXMLHTTPRequest2] waitForResponse
      * Wait for asynchronous send to complete, with optional timeout (in 
               METHOD, 16, @waitForResponse,
                   "VARIANT" @timeoutInSeconds, TYPE 12
                       OPTIONAL 1
                       RETURNING "boolean", TYPE 11
      *[Class: @IServerXMLHTTPRequest2] getOption
      * Get an option value
               METHOD, 17, @getOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IServerXMLHTTPRequest2] setOption
      * Set an option value
               METHOD, 18, @setOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29,
                   "VARIANT" @value, TYPE 12
      *[Class: @IServerXMLHTTPRequest2] setProxy
      * Specify proxy configuration
               METHOD, 19, @setProxy,
                   "SXH_PROXY_SETTING" @proxySetting, TYPE 29,
                   "VARIANT" @varProxyServer, TYPE 12,
                   "VARIANT" @varBypassList, TYPE 12
                       OPTIONAL 2
      *[Class: @IServerXMLHTTPRequest2] setProxyCredentials
      * Specify proxy authentication credentials
               METHOD, 20, @setProxyCredentials,
                   "BSTR" @bstrUserName, TYPE 8,
                   "BSTR" @bstrPassword, TYPE 8
           
      * IMXNamespacePrefixes interface
           
      * IMXNamespacePrefixes
           CLASS @IMXNamespacePrefixes
               CLSID, C90352F4-643C-4FBC-BB23-E996EB2D51FD
               NAME, "IMXNamespacePrefixes"
      *[Class: @IMXNamespacePrefixes] item
               PROPERTY-GET, 0, @item,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @IMXNamespacePrefixes] length
               PROPERTY-GET, 1416, @length
                       RETURNING "long", TYPE 3
           
      * IVBMXNamespaceManager interface
           
      * IVBMXNamespaceManager
           CLASS @IVBMXNamespaceManager
               CLSID, C90352F5-643C-4FBC-BB23-E996EB2D51FD
               NAME, "IVBMXNamespaceManager"
      *[Class: @IVBMXNamespaceManager] allowOverride
               PROPERTY-PUT, 1406, @allowOverride,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @IVBMXNamespaceManager] allowOverride
               PROPERTY-GET, 1406, @allowOverride
                       RETURNING "boolean", TYPE 11
      *[Class: @IVBMXNamespaceManager] reset
               METHOD, 1407, @reset
      *[Class: @IVBMXNamespaceManager] pushContext
               METHOD, 1408, @pushContext
      *[Class: @IVBMXNamespaceManager] pushNodeContext
               METHOD, 1409, @pushNodeContext,
                   "IXMLDOMNode*" @contextNode, TYPE 9,
                   "boolean" @fDeep, TYPE 11
                       OPTIONAL 1
      *[Class: @IVBMXNamespaceManager] popContext
               METHOD, 1410, @popContext
      *[Class: @IVBMXNamespaceManager] declarePrefix
               METHOD, 1411, @declarePrefix,
                   "BSTR" @prefix, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @IVBMXNamespaceManager] getDeclaredPrefixes
               METHOD, 1412, @getDeclaredPrefixes
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @IVBMXNamespaceManager] getPrefixes
               METHOD, 1413, @getPrefixes,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @IVBMXNamespaceManager] getURI
               METHOD, 1414, @getURI,
                   "BSTR" @prefix, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @IVBMXNamespaceManager] getURIFromNode
               METHOD, 1415, @getURIFromNode,
                   "BSTR" @strPrefix, TYPE 8,
                   "IXMLDOMNode*" @contextNode, TYPE 9
                       RETURNING "VARIANT", TYPE 12
           
      * W3C-DOM XML Document (Apartment)
           
      * DOMDocument
           CLASS @DOMDocument
               CLSID, F6D90F11-9C73-11D3-B32E-00C04F990BB4
               NAME, "DOMDocument"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @DOMDocument] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @DOMDocument] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @DOMDocument] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DOMDocument] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @DOMDocument] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @DOMDocument] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @DOMDocument] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @DOMDocument] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @DOMDocument] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @DOMDocument] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @DOMDocument] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @DOMDocument] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @DOMDocument] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @DOMDocument] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @DOMDocument] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @DOMDocument] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @DOMDocument] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @DOMDocument] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @DOMDocument] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @DOMDocument] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument] ondataavailable
               EVENT, 198, @DOMDocumentondataavailable
      *            No Parameters
      *[Class: @DOMDocument] onreadystatechange
               EVENT, -609, @DOMDocumentonreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document (Apartment)
           
      * DOMDocument26
           CLASS @DOMDocument26
               CLSID, F5078F1B-C551-11D3-89B9-0000F81FE221
               NAME, "DOMDocument26"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @DOMDocument26] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument26] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument26] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @DOMDocument26] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument26] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @DOMDocument26] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DOMDocument26] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument26] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument26] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument26] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument26] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument26] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument26] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @DOMDocument26] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @DOMDocument26] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @DOMDocument26] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument26] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @DOMDocument26] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument26] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @DOMDocument26] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @DOMDocument26] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @DOMDocument26] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @DOMDocument26] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @DOMDocument26] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @DOMDocument26] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @DOMDocument26] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument26] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument26] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @DOMDocument26] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument26] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument26] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument26] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @DOMDocument26] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @DOMDocument26] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument26] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument26] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument26] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument26] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument26] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument26] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument26] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @DOMDocument26] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument26] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument26] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument26] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @DOMDocument26] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument26] ondataavailable
               EVENT, 198, @DOMDocument26ondataavailable
      *            No Parameters
      *[Class: @DOMDocument26] onreadystatechange
               EVENT, -609, @DOMDocument26onreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document (Apartment)
           
      * DOMDocument30
           CLASS @DOMDocument30
               CLSID, F5078F32-C551-11D3-89B9-0000F81FE221
               NAME, "DOMDocument30"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @DOMDocument30] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument30] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument30] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @DOMDocument30] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument30] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @DOMDocument30] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DOMDocument30] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument30] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument30] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument30] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument30] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument30] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument30] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @DOMDocument30] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @DOMDocument30] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @DOMDocument30] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument30] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @DOMDocument30] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument30] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @DOMDocument30] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @DOMDocument30] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @DOMDocument30] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @DOMDocument30] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @DOMDocument30] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @DOMDocument30] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @DOMDocument30] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument30] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument30] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @DOMDocument30] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument30] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument30] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument30] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @DOMDocument30] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @DOMDocument30] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument30] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument30] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument30] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument30] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument30] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument30] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument30] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @DOMDocument30] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument30] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument30] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument30] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @DOMDocument30] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument30] ondataavailable
               EVENT, 198, @DOMDocument30ondataavailable
      *            No Parameters
      *[Class: @DOMDocument30] onreadystatechange
               EVENT, -609, @DOMDocument30onreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document (Apartment)
           
      * DOMDocument40
           CLASS @DOMDocument40
               CLSID, 88D969C0-F192-11D4-A65F-0040963251E5
               NAME, "DOMDocument40"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @DOMDocument40] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument40] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument40] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @DOMDocument40] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument40] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @DOMDocument40] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DOMDocument40] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument40] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument40] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument40] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument40] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument40] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument40] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @DOMDocument40] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @DOMDocument40] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @DOMDocument40] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument40] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @DOMDocument40] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument40] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @DOMDocument40] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @DOMDocument40] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @DOMDocument40] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @DOMDocument40] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @DOMDocument40] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @DOMDocument40] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @DOMDocument40] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument40] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument40] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @DOMDocument40] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument40] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument40] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument40] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @DOMDocument40] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @DOMDocument40] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument40] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument40] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument40] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument40] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument40] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument40] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument40] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @DOMDocument40] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument40] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument40] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument40] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @DOMDocument40] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument40] ondataavailable
               EVENT, 198, @DOMDocument40ondataavailable
      *            No Parameters
      *[Class: @DOMDocument40] onreadystatechange
               EVENT, -609, @DOMDocument40onreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document 6.0 (Apartment)
           
      * DOMDocument60
           CLASS @DOMDocument60
               CLSID, 88D96A05-F192-11D4-A65F-0040963251E5
               NAME, "DOMDocument60"
               DEFAULT-INTERFACE, "IXMLDOMDocument3"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @DOMDocument60] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument60] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument60] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @DOMDocument60] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument60] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @DOMDocument60] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DOMDocument60] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument60] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument60] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument60] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument60] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @DOMDocument60] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument60] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @DOMDocument60] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @DOMDocument60] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @DOMDocument60] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument60] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @DOMDocument60] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @DOMDocument60] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @DOMDocument60] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @DOMDocument60] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @DOMDocument60] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @DOMDocument60] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @DOMDocument60] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @DOMDocument60] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @DOMDocument60] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @DOMDocument60] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @DOMDocument60] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument60] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @DOMDocument60] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument60] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @DOMDocument60] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @DOMDocument60] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument60] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument60] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @DOMDocument60] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @DOMDocument60] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument60] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument60] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument60] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @DOMDocument60] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument60] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @DOMDocument60] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument60] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @DOMDocument60] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @DOMDocument60] validateNode
      * perform runtime validation on the currently loaded XML document node
               METHOD, 208, @validateNode,
                   "IXMLDOMNode*" @node, TYPE 9
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @DOMDocument60] importNode
      * clone node such that clones ownerDocument is this document
               METHOD, 209, @importNode,
                   "IXMLDOMNode*" @node, TYPE 9,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @DOMDocument60] ondataavailable
               EVENT, 198, @DOMDocument60ondataavailable
      *            No Parameters
      *[Class: @DOMDocument60] onreadystatechange
               EVENT, -609, @DOMDocument60onreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document (Free threaded)
           
      * FreeThreadedDOMDocument
           CLASS @FreeThreadedDOMDocument
               CLSID, F6D90F12-9C73-11D3-B32E-00C04F990BB4
               NAME, "FreeThreadedDOMDocument"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @FreeThreadedDOMDocument] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @FreeThreadedDOMDocument] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @FreeThreadedDOMDocument] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @FreeThreadedDOMDocument] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @FreeThreadedDOMDocument] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @FreeThreadedDOMDocument] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @FreeThreadedDOMDocument] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument] ondataavailable
               EVENT, 198, @FreeThreadedDOMDocumentondataavailable
      *            No Parameters
      *[Class: @FreeThreadedDOMDocument] onreadystatechange
               EVENT, -609, @FreeThreadedDOMDocumentonreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document (Free threaded)
           
      * FreeThreadedDOMDocument26
           CLASS @FreeThreadedDOMDocument26
               CLSID, F5078F1C-C551-11D3-89B9-0000F81FE221
               NAME, "FreeThreadedDOMDocument26"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @FreeThreadedDOMDocument26] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @FreeThreadedDOMDocument26] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @FreeThreadedDOMDocument26] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @FreeThreadedDOMDocument26] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument26] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @FreeThreadedDOMDocument26] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @FreeThreadedDOMDocument26] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument26] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument26] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @FreeThreadedDOMDocument26] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument26] ondataavailable
               EVENT, 198, @FreeThreadedDOMDocument26ondataavailable
      *            No Parameters
      *[Class: @FreeThreadedDOMDocument26] onreadystatechange
               EVENT, -609, @FreeThreadedDOMDocument26onreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document (Free threaded)
           
      * FreeThreadedDOMDocument30
           CLASS @FreeThreadedDOMDocument30
               CLSID, F5078F33-C551-11D3-89B9-0000F81FE221
               NAME, "FreeThreadedDOMDocument30"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @FreeThreadedDOMDocument30] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @FreeThreadedDOMDocument30] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @FreeThreadedDOMDocument30] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @FreeThreadedDOMDocument30] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument30] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @FreeThreadedDOMDocument30] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @FreeThreadedDOMDocument30] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument30] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument30] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @FreeThreadedDOMDocument30] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument30] ondataavailable
               EVENT, 198, @FreeThreadedDOMDocument30ondataavailable
      *            No Parameters
      *[Class: @FreeThreadedDOMDocument30] onreadystatechange
               EVENT, -609, @FreeThreadedDOMDocument30onreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document (Free threaded)
           
      * FreeThreadedDOMDocument40
           CLASS @FreeThreadedDOMDocument40
               CLSID, 88D969C1-F192-11D4-A65F-0040963251E5
               NAME, "FreeThreadedDOMDocument40"
               DEFAULT-INTERFACE, "IXMLDOMDocument2"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @FreeThreadedDOMDocument40] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @FreeThreadedDOMDocument40] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @FreeThreadedDOMDocument40] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @FreeThreadedDOMDocument40] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument40] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @FreeThreadedDOMDocument40] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @FreeThreadedDOMDocument40] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument40] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument40] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @FreeThreadedDOMDocument40] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument40] ondataavailable
               EVENT, 198, @FreeThreadedDOMDocument40ondataavailable
      *            No Parameters
      *[Class: @FreeThreadedDOMDocument40] onreadystatechange
               EVENT, -609, @FreeThreadedDOMDocument40onreadystatechange
      *            No Parameters
           
      * W3C-DOM XML Document 6.0 (Free threaded)
           
      * FreeThreadedDOMDocument60
           CLASS @FreeThreadedDOMDocument60
               CLSID, 88D96A06-F192-11D4-A65F-0040963251E5
               NAME, "FreeThreadedDOMDocument60"
               DEFAULT-INTERFACE, "IXMLDOMDocument3"
               DEFAULT-SOURCE, "3EFAA427-272F-11D2-836F-0000F87A7782"
      *[Class: @FreeThreadedDOMDocument60] nodeName
      * name of the node
               PROPERTY-GET, 2, @nodeName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] nodeValue
      * value stored in the node
               PROPERTY-GET, 3, @nodeValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] nodeValue
      * value stored in the node
               PROPERTY-PUT, 3, @nodeValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] nodeType
      * the node's type
               PROPERTY-GET, 4, @nodeType
                       RETURNING "DOMNodeType", TYPE 29
      *[Class: @FreeThreadedDOMDocument60] parentNode
      * parent of the node
               PROPERTY-GET, 6, @parentNode
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] childNodes
      * the collection of the node's children
               PROPERTY-GET, 7, @childNodes
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] firstChild
      * first child of the node
               PROPERTY-GET, 8, @firstChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] lastChild
      * last child of the node
               PROPERTY-GET, 9, @lastChild
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] previousSibling
      * left sibling of the node
               PROPERTY-GET, 10, @previousSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] nextSibling
      * right sibling of the node
               PROPERTY-GET, 11, @nextSibling
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] attributes
      * the collection of the node's attributes
               PROPERTY-GET, 12, @attributes
                       RETURNING "IXMLDOMNamedNodeMap*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] insertBefore
      * insert a child node
               METHOD, 13, @insertBefore,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "VARIANT" @refChild, TYPE 12
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] replaceChild
      * replace a child node
               METHOD, 14, @replaceChild,
                   "IXMLDOMNode*" @newChild, TYPE 9,
                   "IXMLDOMNode*" @oldChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] removeChild
      * remove a child node
               METHOD, 15, @removeChild,
                   "IXMLDOMNode*" @childNode, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] appendChild
      * append a child node
               METHOD, 16, @appendChild,
                   "IXMLDOMNode*" @newChild, TYPE 9
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] hasChildNodes
               METHOD, 17, @hasChildNodes
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] ownerDocument
      * document that contains the node
               PROPERTY-GET, 18, @ownerDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] cloneNode
               METHOD, 19, @cloneNode,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] nodeTypeString
      * the type of node in string form
               PROPERTY-GET, 21, @nodeTypeString
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] text
      * text content of the node and subtree
               PROPERTY-GET, 24, @text
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] text
      * text content of the node and subtree
               PROPERTY-PUT, 24, @text,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] specified
      * indicates whether node is a default value
               PROPERTY-GET, 22, @specified
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] definition
      * pointer to the definition of the node in the DTD or schema
               PROPERTY-GET, 23, @definition
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-GET, 25, @nodeTypedValue
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] nodeTypedValue
      * get the strongly typed value of the node
               PROPERTY-PUT, 25, @nodeTypedValue,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] dataType
      * the data type of the node
               PROPERTY-GET, 26, @dataType
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] dataType
      * the data type of the node
               PROPERTY-PUT, 26, @dataType,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] xml
      * return the XML source for the node and each of its descendants
               PROPERTY-GET, 27, @xml
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] transformNode
      * apply the stylesheet to the subtree
               METHOD, 28, @transformNode,
                   "IXMLDOMNode*" @stylesheet, TYPE 9
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] selectNodes
      * execute query on the subtree
               METHOD, 29, @selectNodes,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] selectSingleNode
      * execute query on the subtree
               METHOD, 30, @selectSingleNode,
                   "BSTR" @queryString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] parsed
      * has sub-tree been completely parsed
               PROPERTY-GET, 31, @parsed
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] namespaceURI
      * the URI for the namespace applying to the node
               PROPERTY-GET, 32, @namespaceURI
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] prefix
      * the prefix for the namespace applying to the node
               PROPERTY-GET, 33, @prefix
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] baseName
      * the base name of the node (nodename with the prefix stripped off)
               PROPERTY-GET, 34, @baseName
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] transformNodeToObject
      * apply the stylesheet to the subtree, returning the result through a 
               METHOD, 35, @transformNodeToObject,
                   "IXMLDOMNode*" @stylesheet, TYPE 9,
                   "VARIANT" @outputObject, TYPE 12
      *[Class: @FreeThreadedDOMDocument60] doctype
      * node corresponding to the DOCTYPE
               PROPERTY-GET, 38, @doctype
                       RETURNING "IXMLDOMDocumentType*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] implementation
      * info on this DOM implementation
               PROPERTY-GET, 39, @implementation
                       RETURNING "IXMLDOMImplementation*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] documentElement
      * the root of the tree
               PROPERTY-GET, 40, @documentElement
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] documentElement
      * the root of the tree
               PROPERTY-PUTREF, 40, @documentElement,
                   "IXMLDOMElement* (Property_Value)", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createElement
      * create an Element node
               METHOD, 41, @createElement,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMElement*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createDocumentFragment
      * create a DocumentFragment node
               METHOD, 42, @createDocumentFragment
                       RETURNING "IXMLDOMDocumentFragment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createTextNode
      * create a text node
               METHOD, 43, @createTextNode,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMText*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createComment
      * create a comment node
               METHOD, 44, @createComment,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMComment*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createCDATASection
      * create a CDATA section node
               METHOD, 45, @createCDATASection,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMCDATASection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createProcessingInstruction
      * create a processing instruction node
               METHOD, 46, @createProcessingInstruction,
                   "BSTR" @target, TYPE 8,
                   "BSTR" @data, TYPE 8
                       RETURNING "IXMLDOMProcessingInstruction*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createAttribute
      * create an attribute node
               METHOD, 47, @createAttribute,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMAttribute*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createEntityReference
      * create an entity reference node
               METHOD, 49, @createEntityReference,
                   "BSTR" @name, TYPE 8
                       RETURNING "IXMLDOMEntityReference*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] getElementsByTagName
      * build a list of elements by name
               METHOD, 50, @getElementsByTagName,
                   "BSTR" @tagName, TYPE 8
                       RETURNING "IXMLDOMNodeList*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] createNode
      * create a node of the specified node type and name
               METHOD, 54, @createNode,
                   "VARIANT" @type, TYPE 12,
                   "BSTR" @name, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] nodeFromID
      * retrieve node from it's ID
               METHOD, 56, @nodeFromID,
                   "BSTR" @idString, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] load
      * load document from the specified XML source
               METHOD, 58, @load,
                   "VARIANT" @xmlSource, TYPE 12
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] readyState
      * get the state of the XML document
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @FreeThreadedDOMDocument60] parseError
      * get the last parser error
               PROPERTY-GET, 59, @parseError
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] url
      * get the URL for the loaded XML document
               PROPERTY-GET, 60, @url
                       RETURNING "BSTR", TYPE 8
      *[Class: @FreeThreadedDOMDocument60] async
      * flag for asynchronous download
               PROPERTY-GET, 61, @async
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] async
      * flag for asynchronous download
               PROPERTY-PUT, 61, @async,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] abort
      * abort an asynchronous download
               METHOD, 62, @abort
      *[Class: @FreeThreadedDOMDocument60] loadXML
      * load the document from a string
               METHOD, 63, @loadXML,
                   "BSTR" @bstrXML, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] save
      * save the document to a specified destination
               METHOD, 64, @save,
                   "VARIANT" @destination, TYPE 12
      *[Class: @FreeThreadedDOMDocument60] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-GET, 65, @validateOnParse
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] validateOnParse
      * indicates whether the parser performs validation
               PROPERTY-PUT, 65, @validateOnParse,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-GET, 66, @resolveExternals
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] resolveExternals
      * indicates whether the parser resolves references to external 
               PROPERTY-PUT, 66, @resolveExternals,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-GET, 67, @preserveWhiteSpace
                       RETURNING "boolean", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] preserveWhiteSpace
      * indicates whether the parser preserves whitespace
               PROPERTY-PUT, 67, @preserveWhiteSpace,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @FreeThreadedDOMDocument60] onreadystatechange
      * register a readystatechange event handler
               PROPERTY-PUT, 68, @onreadystatechange,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] ondataavailable
      * register an ondataavailable event handler
               PROPERTY-PUT, 69, @ondataavailable,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] ontransformnode
      * register an ontransformnode event handler
               PROPERTY-PUT, 70, @ontransformnode,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] namespaces
      * A collection of all namespaces for this document
               PROPERTY-GET, 201, @namespaces
                       RETURNING "IXMLDOMSchemaCollection*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] schemas
      * The associated schema cache
               PROPERTY-GET, 202, @schemas
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] schemas
      * The associated schema cache
               PROPERTY-PUTREF, 202, @schemas,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] validate
      * perform runtime validation on the currently loaded XML document
               METHOD, 203, @validate
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] setProperty
      * set the value of the named property
               METHOD, 204, @setProperty,
                   "BSTR" @name, TYPE 8,
                   "VARIANT" @value, TYPE 12
      *[Class: @FreeThreadedDOMDocument60] getProperty
      * get the value of the named property
               METHOD, 205, @getProperty,
                   "BSTR" @name, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @FreeThreadedDOMDocument60] validateNode
      * perform runtime validation on the currently loaded XML document node
               METHOD, 208, @validateNode,
                   "IXMLDOMNode*" @node, TYPE 9
                       RETURNING "IXMLDOMParseError*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] importNode
      * clone node such that clones ownerDocument is this document
               METHOD, 209, @importNode,
                   "IXMLDOMNode*" @node, TYPE 9,
                   "boolean" @deep, TYPE 11
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @FreeThreadedDOMDocument60] ondataavailable
               EVENT, 198, @FreeThreadedDOMDocument60ondataavailable
      *            No Parameters
      *[Class: @FreeThreadedDOMDocument60] onreadystatechange
               EVENT, -609, @FreeThreadedDOMDocument60onreadystatechange
      *            No Parameters
           
      * XML Schema Cache
           
      * XMLSchemaCache
           CLASS @XMLSchemaCache
               CLSID, 373984C9-B845-449B-91E7-45AC83036ADE
               NAME, "XMLSchemaCache"
               DEFAULT-INTERFACE, "IXMLDOMSchemaCollection"
      *[Class: @XMLSchemaCache] add
      * add a new schema
               METHOD, 3, @add,
                   "BSTR" @namespaceURI, TYPE 8,
                   "VARIANT" @var, TYPE 12
      *[Class: @XMLSchemaCache] get
      * lookup schema by namespaceURI
               METHOD, 4, @get,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XMLSchemaCache] remove
      * remove schema by namespaceURI
               METHOD, 5, @remove,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @XMLSchemaCache] length
      * number of schemas in collection
               PROPERTY-GET, 6, @length
                       RETURNING "long", TYPE 3
      *[Class: @XMLSchemaCache] namespaceURI
      * Get namespaceURI for schema by index
               PROPERTY-GET, 0, @namespaceURI,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLSchemaCache] addCollection
      * copy & merge other collection into this one
               METHOD, 8, @addCollection,
                   "IXMLDOMSchemaCollection*" @otherCollection, TYPE 9
           
      * XML Schema Cache 2.6
           
      * XMLSchemaCache26
           CLASS @XMLSchemaCache26
               CLSID, F5078F1D-C551-11D3-89B9-0000F81FE221
               NAME, "XMLSchemaCache26"
               DEFAULT-INTERFACE, "IXMLDOMSchemaCollection"
      *[Class: @XMLSchemaCache26] add
      * add a new schema
               METHOD, 3, @add,
                   "BSTR" @namespaceURI, TYPE 8,
                   "VARIANT" @var, TYPE 12
      *[Class: @XMLSchemaCache26] get
      * lookup schema by namespaceURI
               METHOD, 4, @get,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XMLSchemaCache26] remove
      * remove schema by namespaceURI
               METHOD, 5, @remove,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @XMLSchemaCache26] length
      * number of schemas in collection
               PROPERTY-GET, 6, @length
                       RETURNING "long", TYPE 3
      *[Class: @XMLSchemaCache26] namespaceURI
      * Get namespaceURI for schema by index
               PROPERTY-GET, 0, @namespaceURI,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLSchemaCache26] addCollection
      * copy & merge other collection into this one
               METHOD, 8, @addCollection,
                   "IXMLDOMSchemaCollection*" @otherCollection, TYPE 9
           
      * XML Schema Cache 3.0
           
      * XMLSchemaCache30
           CLASS @XMLSchemaCache30
               CLSID, F5078F34-C551-11D3-89B9-0000F81FE221
               NAME, "XMLSchemaCache30"
               DEFAULT-INTERFACE, "IXMLDOMSchemaCollection"
      *[Class: @XMLSchemaCache30] add
      * add a new schema
               METHOD, 3, @add,
                   "BSTR" @namespaceURI, TYPE 8,
                   "VARIANT" @var, TYPE 12
      *[Class: @XMLSchemaCache30] get
      * lookup schema by namespaceURI
               METHOD, 4, @get,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XMLSchemaCache30] remove
      * remove schema by namespaceURI
               METHOD, 5, @remove,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @XMLSchemaCache30] length
      * number of schemas in collection
               PROPERTY-GET, 6, @length
                       RETURNING "long", TYPE 3
      *[Class: @XMLSchemaCache30] namespaceURI
      * Get namespaceURI for schema by index
               PROPERTY-GET, 0, @namespaceURI,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLSchemaCache30] addCollection
      * copy & merge other collection into this one
               METHOD, 8, @addCollection,
                   "IXMLDOMSchemaCollection*" @otherCollection, TYPE 9
           
      * XML Schema Cache 4.0
           
      * XMLSchemaCache40
           CLASS @XMLSchemaCache40
               CLSID, 88D969C2-F192-11D4-A65F-0040963251E5
               NAME, "XMLSchemaCache40"
               DEFAULT-INTERFACE, "IXMLDOMSchemaCollection2"
      *[Class: @XMLSchemaCache40] add
      * add a new schema
               METHOD, 3, @add,
                   "BSTR" @namespaceURI, TYPE 8,
                   "VARIANT" @var, TYPE 12
      *[Class: @XMLSchemaCache40] get
      * lookup schema by namespaceURI
               METHOD, 4, @get,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XMLSchemaCache40] remove
      * remove schema by namespaceURI
               METHOD, 5, @remove,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @XMLSchemaCache40] length
      * number of schemas in collection
               PROPERTY-GET, 6, @length
                       RETURNING "long", TYPE 3
      *[Class: @XMLSchemaCache40] namespaceURI
      * Get namespaceURI for schema by index
               PROPERTY-GET, 0, @namespaceURI,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLSchemaCache40] addCollection
      * copy & merge other collection into this one
               METHOD, 8, @addCollection,
                   "IXMLDOMSchemaCollection*" @otherCollection, TYPE 9
      *[Class: @XMLSchemaCache40] validate
               METHOD, 1419, @validate
      *[Class: @XMLSchemaCache40] validateOnLoad
               PROPERTY-PUT, 1420, @validateOnLoad,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @XMLSchemaCache40] validateOnLoad
               PROPERTY-GET, 1420, @validateOnLoad
                       RETURNING "boolean", TYPE 11
      *[Class: @XMLSchemaCache40] getSchema
               METHOD, 1421, @getSchema,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "ISchema*", TYPE 9
      *[Class: @XMLSchemaCache40] getDeclaration
               METHOD, 1422, @getDeclaration,
                   "IXMLDOMNode*" @node, TYPE 9
                       RETURNING "ISchemaItem*", TYPE 9
           
      * XML Schema Cache 6.0
           
      * XMLSchemaCache60
           CLASS @XMLSchemaCache60
               CLSID, 88D96A07-F192-11D4-A65F-0040963251E5
               NAME, "XMLSchemaCache60"
               DEFAULT-INTERFACE, "IXMLDOMSchemaCollection2"
      *[Class: @XMLSchemaCache60] add
      * add a new schema
               METHOD, 3, @add,
                   "BSTR" @namespaceURI, TYPE 8,
                   "VARIANT" @var, TYPE 12
      *[Class: @XMLSchemaCache60] get
      * lookup schema by namespaceURI
               METHOD, 4, @get,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XMLSchemaCache60] remove
      * remove schema by namespaceURI
               METHOD, 5, @remove,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @XMLSchemaCache60] length
      * number of schemas in collection
               PROPERTY-GET, 6, @length
                       RETURNING "long", TYPE 3
      *[Class: @XMLSchemaCache60] namespaceURI
      * Get namespaceURI for schema by index
               PROPERTY-GET, 0, @namespaceURI,
                   "long" @index, TYPE 3
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLSchemaCache60] addCollection
      * copy & merge other collection into this one
               METHOD, 8, @addCollection,
                   "IXMLDOMSchemaCollection*" @otherCollection, TYPE 9
      *[Class: @XMLSchemaCache60] validate
               METHOD, 1419, @validate
      *[Class: @XMLSchemaCache60] validateOnLoad
               PROPERTY-PUT, 1420, @validateOnLoad,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @XMLSchemaCache60] validateOnLoad
               PROPERTY-GET, 1420, @validateOnLoad
                       RETURNING "boolean", TYPE 11
      *[Class: @XMLSchemaCache60] getSchema
               METHOD, 1421, @getSchema,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "ISchema*", TYPE 9
      *[Class: @XMLSchemaCache60] getDeclaration
               METHOD, 1422, @getDeclaration,
                   "IXMLDOMNode*" @node, TYPE 9
                       RETURNING "ISchemaItem*", TYPE 9
           
      * Compiled XSL Stylesheet Cache
           
      * XSLTemplate
           CLASS @XSLTemplate
               CLSID, 2933BF94-7B36-11D2-B20E-00C04F983E60
               NAME, "XSLTemplate"
               DEFAULT-INTERFACE, "IXSLTemplate"
      *[Class: @XSLTemplate] stylesheet
      * stylesheet to use with processors
               PROPERTY-PUTREF, 2, @stylesheet,
                   "IXMLDOMNode* (Property_Value)", TYPE 9
      *[Class: @XSLTemplate] stylesheet
      * stylesheet to use with processors
               PROPERTY-GET, 2, @stylesheet
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XSLTemplate] createProcessor
      * create a new processor object
               METHOD, 3, @createProcessor
                       RETURNING "IXSLProcessor*", TYPE 9
           
      * Compiled XSL Stylesheet Cache 2.6
           
      * XSLTemplate26
           CLASS @XSLTemplate26
               CLSID, F5078F21-C551-11D3-89B9-0000F81FE221
               NAME, "XSLTemplate26"
               DEFAULT-INTERFACE, "IXSLTemplate"
      *[Class: @XSLTemplate26] stylesheet
      * stylesheet to use with processors
               PROPERTY-PUTREF, 2, @stylesheet,
                   "IXMLDOMNode* (Property_Value)", TYPE 9
      *[Class: @XSLTemplate26] stylesheet
      * stylesheet to use with processors
               PROPERTY-GET, 2, @stylesheet
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XSLTemplate26] createProcessor
      * create a new processor object
               METHOD, 3, @createProcessor
                       RETURNING "IXSLProcessor*", TYPE 9
           
      * Compiled XSL Stylesheet Cache 3.0
           
      * XSLTemplate30
           CLASS @XSLTemplate30
               CLSID, F5078F36-C551-11D3-89B9-0000F81FE221
               NAME, "XSLTemplate30"
               DEFAULT-INTERFACE, "IXSLTemplate"
      *[Class: @XSLTemplate30] stylesheet
      * stylesheet to use with processors
               PROPERTY-PUTREF, 2, @stylesheet,
                   "IXMLDOMNode* (Property_Value)", TYPE 9
      *[Class: @XSLTemplate30] stylesheet
      * stylesheet to use with processors
               PROPERTY-GET, 2, @stylesheet
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XSLTemplate30] createProcessor
      * create a new processor object
               METHOD, 3, @createProcessor
                       RETURNING "IXSLProcessor*", TYPE 9
           
      * Compiled XSL Stylesheet Cache 4.0
           
      * XSLTemplate40
           CLASS @XSLTemplate40
               CLSID, 88D969C3-F192-11D4-A65F-0040963251E5
               NAME, "XSLTemplate40"
               DEFAULT-INTERFACE, "IXSLTemplate"
      *[Class: @XSLTemplate40] stylesheet
      * stylesheet to use with processors
               PROPERTY-PUTREF, 2, @stylesheet,
                   "IXMLDOMNode* (Property_Value)", TYPE 9
      *[Class: @XSLTemplate40] stylesheet
      * stylesheet to use with processors
               PROPERTY-GET, 2, @stylesheet
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XSLTemplate40] createProcessor
      * create a new processor object
               METHOD, 3, @createProcessor
                       RETURNING "IXSLProcessor*", TYPE 9
           
      * XSL Stylesheet Cache 6.0
           
      * XSLTemplate60
           CLASS @XSLTemplate60
               CLSID, 88D96A08-F192-11D4-A65F-0040963251E5
               NAME, "XSLTemplate60"
               DEFAULT-INTERFACE, "IXSLTemplate"
      *[Class: @XSLTemplate60] stylesheet
      * stylesheet to use with processors
               PROPERTY-PUTREF, 2, @stylesheet,
                   "IXMLDOMNode* (Property_Value)", TYPE 9
      *[Class: @XSLTemplate60] stylesheet
      * stylesheet to use with processors
               PROPERTY-GET, 2, @stylesheet
                       RETURNING "IXMLDOMNode*", TYPE 9
      *[Class: @XSLTemplate60] createProcessor
      * create a new processor object
               METHOD, 3, @createProcessor
                       RETURNING "IXSLProcessor*", TYPE 9
           
      * XML Data Source Object
           
      * DSOControl
           CLASS @DSOControl
               CLSID, F6D90F14-9C73-11D3-B32E-00C04F990BB4
               NAME, "DSOControl"
               DEFAULT-INTERFACE, "IDSOControl"
      *[Class: @DSOControl] XMLDocument
               PROPERTY-GET, 65537, @XMLDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DSOControl] XMLDocument
               PROPERTY-PUT, 65537, @XMLDocument,
                   "IXMLDOMDocument* (Property_Value)", TYPE 9
      *[Class: @DSOControl] JavaDSOCompatible
               PROPERTY-GET, 65538, @JavaDSOCompatible
                       RETURNING "long", TYPE 3
      *[Class: @DSOControl] JavaDSOCompatible
               PROPERTY-PUT, 65538, @JavaDSOCompatible,
                   "long (Property_Value)", TYPE 3
      *[Class: @DSOControl] readyState
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
           
      * XML Data Source Object
           
      * DSOControl26
           CLASS @DSOControl26
               CLSID, F5078F1F-C551-11D3-89B9-0000F81FE221
               NAME, "DSOControl26"
               DEFAULT-INTERFACE, "IDSOControl"
      *[Class: @DSOControl26] XMLDocument
               PROPERTY-GET, 65537, @XMLDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DSOControl26] XMLDocument
               PROPERTY-PUT, 65537, @XMLDocument,
                   "IXMLDOMDocument* (Property_Value)", TYPE 9
      *[Class: @DSOControl26] JavaDSOCompatible
               PROPERTY-GET, 65538, @JavaDSOCompatible
                       RETURNING "long", TYPE 3
      *[Class: @DSOControl26] JavaDSOCompatible
               PROPERTY-PUT, 65538, @JavaDSOCompatible,
                   "long (Property_Value)", TYPE 3
      *[Class: @DSOControl26] readyState
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
           
      * XML Data Source Object
           
      * DSOControl30
           CLASS @DSOControl30
               CLSID, F5078F39-C551-11D3-89B9-0000F81FE221
               NAME, "DSOControl30"
               DEFAULT-INTERFACE, "IDSOControl"
      *[Class: @DSOControl30] XMLDocument
               PROPERTY-GET, 65537, @XMLDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DSOControl30] XMLDocument
               PROPERTY-PUT, 65537, @XMLDocument,
                   "IXMLDOMDocument* (Property_Value)", TYPE 9
      *[Class: @DSOControl30] JavaDSOCompatible
               PROPERTY-GET, 65538, @JavaDSOCompatible
                       RETURNING "long", TYPE 3
      *[Class: @DSOControl30] JavaDSOCompatible
               PROPERTY-PUT, 65538, @JavaDSOCompatible,
                   "long (Property_Value)", TYPE 3
      *[Class: @DSOControl30] readyState
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
           
      * XML Data Source Object
           
      * DSOControl40
           CLASS @DSOControl40
               CLSID, 88D969C4-F192-11D4-A65F-0040963251E5
               NAME, "DSOControl40"
               DEFAULT-INTERFACE, "IDSOControl"
      *[Class: @DSOControl40] XMLDocument
               PROPERTY-GET, 65537, @XMLDocument
                       RETURNING "IXMLDOMDocument*", TYPE 9
      *[Class: @DSOControl40] XMLDocument
               PROPERTY-PUT, 65537, @XMLDocument,
                   "IXMLDOMDocument* (Property_Value)", TYPE 9
      *[Class: @DSOControl40] JavaDSOCompatible
               PROPERTY-GET, 65538, @JavaDSOCompatible
                       RETURNING "long", TYPE 3
      *[Class: @DSOControl40] JavaDSOCompatible
               PROPERTY-PUT, 65538, @JavaDSOCompatible,
                   "long (Property_Value)", TYPE 3
      *[Class: @DSOControl40] readyState
               PROPERTY-GET, -525, @readyState
                       RETURNING "long", TYPE 3
           
      * XML HTTP Request class.
           
      * XMLHTTP
           CLASS @XMLHTTP
               CLSID, F6D90F16-9C73-11D3-B32E-00C04F990BB4
               NAME, "XMLHTTP"
               DEFAULT-INTERFACE, "IXMLHTTPRequest"
      *[Class: @XMLHTTP] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @XMLHTTP] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @XMLHTTP] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @XMLHTTP] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @XMLHTTP] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @XMLHTTP] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
           
      * XML HTTP Request class.
           
      * XMLHTTP26
           CLASS @XMLHTTP26
               CLSID, F5078F1E-C551-11D3-89B9-0000F81FE221
               NAME, "XMLHTTP26"
               DEFAULT-INTERFACE, "IXMLHTTPRequest"
      *[Class: @XMLHTTP26] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @XMLHTTP26] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @XMLHTTP26] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP26] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP26] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @XMLHTTP26] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @XMLHTTP26] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP26] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP26] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @XMLHTTP26] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP26] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP26] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP26] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP26] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
           
      * XML HTTP Request class.
           
      * XMLHTTP30
           CLASS @XMLHTTP30
               CLSID, F5078F35-C551-11D3-89B9-0000F81FE221
               NAME, "XMLHTTP30"
               DEFAULT-INTERFACE, "IXMLHTTPRequest"
      *[Class: @XMLHTTP30] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @XMLHTTP30] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @XMLHTTP30] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP30] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP30] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @XMLHTTP30] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @XMLHTTP30] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP30] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP30] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @XMLHTTP30] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP30] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP30] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP30] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP30] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
           
      * XML HTTP Request class.
           
      * XMLHTTP40
           CLASS @XMLHTTP40
               CLSID, 88D969C5-F192-11D4-A65F-0040963251E5
               NAME, "XMLHTTP40"
               DEFAULT-INTERFACE, "IXMLHTTPRequest"
      *[Class: @XMLHTTP40] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @XMLHTTP40] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @XMLHTTP40] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP40] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP40] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @XMLHTTP40] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @XMLHTTP40] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP40] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP40] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @XMLHTTP40] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP40] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP40] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP40] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP40] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
           
      * XML HTTP Request class 6.0
           
      * XMLHTTP60
           CLASS @XMLHTTP60
               CLSID, 88D96A0A-F192-11D4-A65F-0040963251E5
               NAME, "XMLHTTP60"
               DEFAULT-INTERFACE, "IXMLHTTPRequest"
      *[Class: @XMLHTTP60] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @XMLHTTP60] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @XMLHTTP60] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP60] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP60] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @XMLHTTP60] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @XMLHTTP60] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP60] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP60] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @XMLHTTP60] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @XMLHTTP60] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP60] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @XMLHTTP60] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @XMLHTTP60] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
           
      * Server XML HTTP Request class.
           
      * ServerXMLHTTP
           CLASS @ServerXMLHTTP
               CLSID, AFBA6B42-5692-48EA-8141-DC517DCF0EF1
               NAME, "ServerXMLHTTP"
               DEFAULT-INTERFACE, "IServerXMLHTTPRequest"
      *[Class: @ServerXMLHTTP] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @ServerXMLHTTP] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @ServerXMLHTTP] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @ServerXMLHTTP] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @ServerXMLHTTP] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @ServerXMLHTTP] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
      *[Class: @ServerXMLHTTP] setTimeouts
      * Specify timeout settings (in milliseconds)
               METHOD, 15, @setTimeouts,
                   "long" @resolveTimeout, TYPE 3,
                   "long" @connectTimeout, TYPE 3,
                   "long" @sendTimeout, TYPE 3,
                   "long" @receiveTimeout, TYPE 3
      *[Class: @ServerXMLHTTP] waitForResponse
      * Wait for asynchronous send to complete, with optional timeout (in 
               METHOD, 16, @waitForResponse,
                   "VARIANT" @timeoutInSeconds, TYPE 12
                       OPTIONAL 1
                       RETURNING "boolean", TYPE 11
      *[Class: @ServerXMLHTTP] getOption
      * Get an option value
               METHOD, 17, @getOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP] setOption
      * Set an option value
               METHOD, 18, @setOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29,
                   "VARIANT" @value, TYPE 12
           
      * Server XML HTTP Request class.
           
      * ServerXMLHTTP30
           CLASS @ServerXMLHTTP30
               CLSID, AFB40FFD-B609-40A3-9828-F88BBE11E4E3
               NAME, "ServerXMLHTTP30"
               DEFAULT-INTERFACE, "IServerXMLHTTPRequest"
      *[Class: @ServerXMLHTTP30] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @ServerXMLHTTP30] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @ServerXMLHTTP30] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP30] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP30] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @ServerXMLHTTP30] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @ServerXMLHTTP30] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP30] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP30] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @ServerXMLHTTP30] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP30] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP30] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP30] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP30] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
      *[Class: @ServerXMLHTTP30] setTimeouts
      * Specify timeout settings (in milliseconds)
               METHOD, 15, @setTimeouts,
                   "long" @resolveTimeout, TYPE 3,
                   "long" @connectTimeout, TYPE 3,
                   "long" @sendTimeout, TYPE 3,
                   "long" @receiveTimeout, TYPE 3
      *[Class: @ServerXMLHTTP30] waitForResponse
      * Wait for asynchronous send to complete, with optional timeout (in 
               METHOD, 16, @waitForResponse,
                   "VARIANT" @timeoutInSeconds, TYPE 12
                       OPTIONAL 1
                       RETURNING "boolean", TYPE 11
      *[Class: @ServerXMLHTTP30] getOption
      * Get an option value
               METHOD, 17, @getOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP30] setOption
      * Set an option value
               METHOD, 18, @setOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29,
                   "VARIANT" @value, TYPE 12
           
      * Server XML HTTP Request class.
           
      * ServerXMLHTTP40
           CLASS @ServerXMLHTTP40
               CLSID, 88D969C6-F192-11D4-A65F-0040963251E5
               NAME, "ServerXMLHTTP40"
               DEFAULT-INTERFACE, "IServerXMLHTTPRequest2"
      *[Class: @ServerXMLHTTP40] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @ServerXMLHTTP40] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @ServerXMLHTTP40] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP40] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP40] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @ServerXMLHTTP40] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @ServerXMLHTTP40] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP40] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP40] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @ServerXMLHTTP40] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP40] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP40] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP40] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP40] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
      *[Class: @ServerXMLHTTP40] setTimeouts
      * Specify timeout settings (in milliseconds)
               METHOD, 15, @setTimeouts,
                   "long" @resolveTimeout, TYPE 3,
                   "long" @connectTimeout, TYPE 3,
                   "long" @sendTimeout, TYPE 3,
                   "long" @receiveTimeout, TYPE 3
      *[Class: @ServerXMLHTTP40] waitForResponse
      * Wait for asynchronous send to complete, with optional timeout (in 
               METHOD, 16, @waitForResponse,
                   "VARIANT" @timeoutInSeconds, TYPE 12
                       OPTIONAL 1
                       RETURNING "boolean", TYPE 11
      *[Class: @ServerXMLHTTP40] getOption
      * Get an option value
               METHOD, 17, @getOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP40] setOption
      * Set an option value
               METHOD, 18, @setOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29,
                   "VARIANT" @value, TYPE 12
      *[Class: @ServerXMLHTTP40] setProxy
      * Specify proxy configuration
               METHOD, 19, @setProxy,
                   "SXH_PROXY_SETTING" @proxySetting, TYPE 29,
                   "VARIANT" @varProxyServer, TYPE 12,
                   "VARIANT" @varBypassList, TYPE 12
                       OPTIONAL 2
      *[Class: @ServerXMLHTTP40] setProxyCredentials
      * Specify proxy authentication credentials
               METHOD, 20, @setProxyCredentials,
                   "BSTR" @bstrUserName, TYPE 8,
                   "BSTR" @bstrPassword, TYPE 8
           
      * Server XML HTTP Request 6.0
           
      * ServerXMLHTTP60
           CLASS @ServerXMLHTTP60
               CLSID, 88D96A0B-F192-11D4-A65F-0040963251E5
               NAME, "ServerXMLHTTP60"
               DEFAULT-INTERFACE, "IServerXMLHTTPRequest2"
      *[Class: @ServerXMLHTTP60] open
      * Open HTTP connection
               METHOD, 1, @open,
                   "BSTR" @bstrMethod, TYPE 8,
                   "BSTR" @bstrUrl, TYPE 8,
                   "VARIANT" @varAsync, TYPE 12,
                   "VARIANT" @bstrUser, TYPE 12,
                   "VARIANT" @bstrPassword, TYPE 12
                       OPTIONAL 3
      *[Class: @ServerXMLHTTP60] setRequestHeader
      * Add HTTP request header
               METHOD, 2, @setRequestHeader,
                   "BSTR" @bstrHeader, TYPE 8,
                   "BSTR" @bstrValue, TYPE 8
      *[Class: @ServerXMLHTTP60] getResponseHeader
      * Get HTTP response header
               METHOD, 3, @getResponseHeader,
                   "BSTR" @bstrHeader, TYPE 8
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP60] getAllResponseHeaders
      * Get all HTTP response headers
               METHOD, 4, @getAllResponseHeaders
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP60] send
      * Send HTTP request
               METHOD, 5, @send,
                   "VARIANT" @varBody, TYPE 12
                       OPTIONAL 1
      *[Class: @ServerXMLHTTP60] abort
      * Abort HTTP request
               METHOD, 6, @abort
      *[Class: @ServerXMLHTTP60] status
      * Get HTTP status code
               PROPERTY-GET, 7, @status
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP60] statusText
      * Get HTTP status text
               PROPERTY-GET, 8, @statusText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP60] responseXML
      * Get response body
               PROPERTY-GET, 9, @responseXML
                       RETURNING "IDispatch*", TYPE 9
      *[Class: @ServerXMLHTTP60] responseText
      * Get response body
               PROPERTY-GET, 10, @responseText
                       RETURNING "BSTR", TYPE 8
      *[Class: @ServerXMLHTTP60] responseBody
      * Get response body
               PROPERTY-GET, 11, @responseBody
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP60] responseStream
      * Get response body
               PROPERTY-GET, 12, @responseStream
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP60] readyState
      * Get ready state
               PROPERTY-GET, 13, @readyState
                       RETURNING "long", TYPE 3
      *[Class: @ServerXMLHTTP60] onreadystatechange
      * Register a complete event handler
               PROPERTY-PUT, 14, @onreadystatechange,
                   "IDispatch* (Property_Value)", TYPE 9
      *[Class: @ServerXMLHTTP60] setTimeouts
      * Specify timeout settings (in milliseconds)
               METHOD, 15, @setTimeouts,
                   "long" @resolveTimeout, TYPE 3,
                   "long" @connectTimeout, TYPE 3,
                   "long" @sendTimeout, TYPE 3,
                   "long" @receiveTimeout, TYPE 3
      *[Class: @ServerXMLHTTP60] waitForResponse
      * Wait for asynchronous send to complete, with optional timeout (in 
               METHOD, 16, @waitForResponse,
                   "VARIANT" @timeoutInSeconds, TYPE 12
                       OPTIONAL 1
                       RETURNING "boolean", TYPE 11
      *[Class: @ServerXMLHTTP60] getOption
      * Get an option value
               METHOD, 17, @getOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29
                       RETURNING "VARIANT", TYPE 12
      *[Class: @ServerXMLHTTP60] setOption
      * Set an option value
               METHOD, 18, @setOption,
                   "SERVERXMLHTTP_OPTION" @option, TYPE 29,
                   "VARIANT" @value, TYPE 12
      *[Class: @ServerXMLHTTP60] setProxy
      * Specify proxy configuration
               METHOD, 19, @setProxy,
                   "SXH_PROXY_SETTING" @proxySetting, TYPE 29,
                   "VARIANT" @varProxyServer, TYPE 12,
                   "VARIANT" @varBypassList, TYPE 12
                       OPTIONAL 2
      *[Class: @ServerXMLHTTP60] setProxyCredentials
      * Specify proxy authentication credentials
               METHOD, 20, @setProxyCredentials,
                   "BSTR" @bstrUserName, TYPE 8,
                   "BSTR" @bstrPassword, TYPE 8
           
      * SAX XML Reader (version independent) coclass
           
      * SAXXMLReader
           CLASS @SAXXMLReader
               CLSID, 079AA557-4A18-424A-8EEE-E39F0A8D41B9
               NAME, "SAXXMLReader"
               DEFAULT-INTERFACE, "IVBSAXXMLReader"
      *[Class: @SAXXMLReader] getFeature
      * Look up the value of a feature.
               METHOD, 1282, @getFeature,
                   "BSTR" @strName, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @SAXXMLReader] putFeature
      * Set the state of a feature.
               METHOD, 1283, @putFeature,
                   "BSTR" @strName, TYPE 8,
                   "boolean" @fValue, TYPE 11
      *[Class: @SAXXMLReader] getProperty
      * Look up the value of a property.
               METHOD, 1284, @getProperty,
                   "BSTR" @strName, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @SAXXMLReader] putProperty
      * Set the value of a property.
               METHOD, 1285, @putProperty,
                   "BSTR" @strName, TYPE 8,
                   "VARIANT" @varValue, TYPE 12
      *[Class: @SAXXMLReader] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-GET, 1286, @entityResolver
                       RETURNING "IVBSAXEntityResolver*", TYPE 9
      *[Class: @SAXXMLReader] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-PUTREF, 1286, @entityResolver,
                   "IVBSAXEntityResolver* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-GET, 1287, @contentHandler
                       RETURNING "IVBSAXContentHandler*", TYPE 9
      *[Class: @SAXXMLReader] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-PUTREF, 1287, @contentHandler,
                   "IVBSAXContentHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-GET, 1288, @dtdHandler
                       RETURNING "IVBSAXDTDHandler*", TYPE 9
      *[Class: @SAXXMLReader] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-PUTREF, 1288, @dtdHandler,
                   "IVBSAXDTDHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-GET, 1289, @errorHandler
                       RETURNING "IVBSAXErrorHandler*", TYPE 9
      *[Class: @SAXXMLReader] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-PUTREF, 1289, @errorHandler,
                   "IVBSAXErrorHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader] baseURL
      * Set or get the base URL for the document.
               PROPERTY-GET, 1290, @baseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader] baseURL
      * Set or get the base URL for the document.
               PROPERTY-PUT, 1290, @baseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-GET, 1291, @secureBaseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-PUT, 1291, @secureBaseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader] parse
      * Parse an XML document.
               METHOD, 1292, @parse,
                   "VARIANT" @varInput, TYPE 12
                       OPTIONAL 1
      *[Class: @SAXXMLReader] parseURL
      * Parse an XML document from a system identifier (URI).
               METHOD, 1293, @parseURL,
                   "BSTR" @strURL, TYPE 8
           
      * SAX XML Reader 3.0 coclass
           
      * SAXXMLReader30
           CLASS @SAXXMLReader30
               CLSID, 3124C396-FB13-4836-A6AD-1317F1713688
               NAME, "SAXXMLReader30"
               DEFAULT-INTERFACE, "IVBSAXXMLReader"
      *[Class: @SAXXMLReader30] getFeature
      * Look up the value of a feature.
               METHOD, 1282, @getFeature,
                   "BSTR" @strName, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @SAXXMLReader30] putFeature
      * Set the state of a feature.
               METHOD, 1283, @putFeature,
                   "BSTR" @strName, TYPE 8,
                   "boolean" @fValue, TYPE 11
      *[Class: @SAXXMLReader30] getProperty
      * Look up the value of a property.
               METHOD, 1284, @getProperty,
                   "BSTR" @strName, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @SAXXMLReader30] putProperty
      * Set the value of a property.
               METHOD, 1285, @putProperty,
                   "BSTR" @strName, TYPE 8,
                   "VARIANT" @varValue, TYPE 12
      *[Class: @SAXXMLReader30] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-GET, 1286, @entityResolver
                       RETURNING "IVBSAXEntityResolver*", TYPE 9
      *[Class: @SAXXMLReader30] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-PUTREF, 1286, @entityResolver,
                   "IVBSAXEntityResolver* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader30] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-GET, 1287, @contentHandler
                       RETURNING "IVBSAXContentHandler*", TYPE 9
      *[Class: @SAXXMLReader30] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-PUTREF, 1287, @contentHandler,
                   "IVBSAXContentHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader30] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-GET, 1288, @dtdHandler
                       RETURNING "IVBSAXDTDHandler*", TYPE 9
      *[Class: @SAXXMLReader30] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-PUTREF, 1288, @dtdHandler,
                   "IVBSAXDTDHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader30] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-GET, 1289, @errorHandler
                       RETURNING "IVBSAXErrorHandler*", TYPE 9
      *[Class: @SAXXMLReader30] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-PUTREF, 1289, @errorHandler,
                   "IVBSAXErrorHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader30] baseURL
      * Set or get the base URL for the document.
               PROPERTY-GET, 1290, @baseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader30] baseURL
      * Set or get the base URL for the document.
               PROPERTY-PUT, 1290, @baseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader30] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-GET, 1291, @secureBaseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader30] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-PUT, 1291, @secureBaseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader30] parse
      * Parse an XML document.
               METHOD, 1292, @parse,
                   "VARIANT" @varInput, TYPE 12
                       OPTIONAL 1
      *[Class: @SAXXMLReader30] parseURL
      * Parse an XML document from a system identifier (URI).
               METHOD, 1293, @parseURL,
                   "BSTR" @strURL, TYPE 8
           
      * SAX XML Reader 4.0 coclass
           
      * SAXXMLReader40
           CLASS @SAXXMLReader40
               CLSID, 7C6E29BC-8B8B-4C3D-859E-AF6CD158BE0F
               NAME, "SAXXMLReader40"
               DEFAULT-INTERFACE, "IVBSAXXMLReader"
      *[Class: @SAXXMLReader40] getFeature
      * Look up the value of a feature.
               METHOD, 1282, @getFeature,
                   "BSTR" @strName, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @SAXXMLReader40] putFeature
      * Set the state of a feature.
               METHOD, 1283, @putFeature,
                   "BSTR" @strName, TYPE 8,
                   "boolean" @fValue, TYPE 11
      *[Class: @SAXXMLReader40] getProperty
      * Look up the value of a property.
               METHOD, 1284, @getProperty,
                   "BSTR" @strName, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @SAXXMLReader40] putProperty
      * Set the value of a property.
               METHOD, 1285, @putProperty,
                   "BSTR" @strName, TYPE 8,
                   "VARIANT" @varValue, TYPE 12
      *[Class: @SAXXMLReader40] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-GET, 1286, @entityResolver
                       RETURNING "IVBSAXEntityResolver*", TYPE 9
      *[Class: @SAXXMLReader40] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-PUTREF, 1286, @entityResolver,
                   "IVBSAXEntityResolver* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader40] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-GET, 1287, @contentHandler
                       RETURNING "IVBSAXContentHandler*", TYPE 9
      *[Class: @SAXXMLReader40] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-PUTREF, 1287, @contentHandler,
                   "IVBSAXContentHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader40] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-GET, 1288, @dtdHandler
                       RETURNING "IVBSAXDTDHandler*", TYPE 9
      *[Class: @SAXXMLReader40] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-PUTREF, 1288, @dtdHandler,
                   "IVBSAXDTDHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader40] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-GET, 1289, @errorHandler
                       RETURNING "IVBSAXErrorHandler*", TYPE 9
      *[Class: @SAXXMLReader40] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-PUTREF, 1289, @errorHandler,
                   "IVBSAXErrorHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader40] baseURL
      * Set or get the base URL for the document.
               PROPERTY-GET, 1290, @baseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader40] baseURL
      * Set or get the base URL for the document.
               PROPERTY-PUT, 1290, @baseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader40] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-GET, 1291, @secureBaseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader40] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-PUT, 1291, @secureBaseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader40] parse
      * Parse an XML document.
               METHOD, 1292, @parse,
                   "VARIANT" @varInput, TYPE 12
                       OPTIONAL 1
      *[Class: @SAXXMLReader40] parseURL
      * Parse an XML document from a system identifier (URI).
               METHOD, 1293, @parseURL,
                   "BSTR" @strURL, TYPE 8
           
      * SAX XML Reader 6.0
           
      * SAXXMLReader60
           CLASS @SAXXMLReader60
               CLSID, 88D96A0C-F192-11D4-A65F-0040963251E5
               NAME, "SAXXMLReader60"
               DEFAULT-INTERFACE, "IVBSAXXMLReader"
      *[Class: @SAXXMLReader60] getFeature
      * Look up the value of a feature.
               METHOD, 1282, @getFeature,
                   "BSTR" @strName, TYPE 8
                       RETURNING "boolean", TYPE 11
      *[Class: @SAXXMLReader60] putFeature
      * Set the state of a feature.
               METHOD, 1283, @putFeature,
                   "BSTR" @strName, TYPE 8,
                   "boolean" @fValue, TYPE 11
      *[Class: @SAXXMLReader60] getProperty
      * Look up the value of a property.
               METHOD, 1284, @getProperty,
                   "BSTR" @strName, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @SAXXMLReader60] putProperty
      * Set the value of a property.
               METHOD, 1285, @putProperty,
                   "BSTR" @strName, TYPE 8,
                   "VARIANT" @varValue, TYPE 12
      *[Class: @SAXXMLReader60] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-GET, 1286, @entityResolver
                       RETURNING "IVBSAXEntityResolver*", TYPE 9
      *[Class: @SAXXMLReader60] entityResolver
      * Allow an application to register an entity resolver or look up the 
               PROPERTY-PUTREF, 1286, @entityResolver,
                   "IVBSAXEntityResolver* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader60] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-GET, 1287, @contentHandler
                       RETURNING "IVBSAXContentHandler*", TYPE 9
      *[Class: @SAXXMLReader60] contentHandler
      * Allow an application to register a content event handler or look up the 
               PROPERTY-PUTREF, 1287, @contentHandler,
                   "IVBSAXContentHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader60] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-GET, 1288, @dtdHandler
                       RETURNING "IVBSAXDTDHandler*", TYPE 9
      *[Class: @SAXXMLReader60] dtdHandler
      * Allow an application to register a DTD event handler or look up the 
               PROPERTY-PUTREF, 1288, @dtdHandler,
                   "IVBSAXDTDHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader60] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-GET, 1289, @errorHandler
                       RETURNING "IVBSAXErrorHandler*", TYPE 9
      *[Class: @SAXXMLReader60] errorHandler
      * Allow an application to register an error event handler or look up the 
               PROPERTY-PUTREF, 1289, @errorHandler,
                   "IVBSAXErrorHandler* (Property_Value)", TYPE 9
      *[Class: @SAXXMLReader60] baseURL
      * Set or get the base URL for the document.
               PROPERTY-GET, 1290, @baseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader60] baseURL
      * Set or get the base URL for the document.
               PROPERTY-PUT, 1290, @baseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader60] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-GET, 1291, @secureBaseURL
                       RETURNING "BSTR", TYPE 8
      *[Class: @SAXXMLReader60] secureBaseURL
      * Set or get the secure base URL for the document.
               PROPERTY-PUT, 1291, @secureBaseURL,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @SAXXMLReader60] parse
      * Parse an XML document.
               METHOD, 1292, @parse,
                   "VARIANT" @varInput, TYPE 12
                       OPTIONAL 1
      *[Class: @SAXXMLReader60] parseURL
      * Parse an XML document from a system identifier (URI).
               METHOD, 1293, @parseURL,
                   "BSTR" @strURL, TYPE 8
           
      * Microsoft XML Writer (version independent) coclass
           
      * MXXMLWriter
           CLASS @MXXMLWriter
               CLSID, FC220AD8-A72A-4EE8-926E-0B7AD152A020
               NAME, "MXXMLWriter"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXXMLWriter] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXXMLWriter] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXXMLWriter] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * Microsoft XML Writer 3.0 coclass
           
      * MXXMLWriter30
           CLASS @MXXMLWriter30
               CLSID, 3D813DFE-6C91-4A4E-8F41-04346A841D9C
               NAME, "MXXMLWriter30"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXXMLWriter30] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXXMLWriter30] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXXMLWriter30] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter30] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter30] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter30] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter30] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter30] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter30] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter30] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter30] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter30] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter30] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter30] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter30] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter30] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter30] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * Microsoft XML Writer 4.0 coclass
           
      * MXXMLWriter40
           CLASS @MXXMLWriter40
               CLSID, 88D969C8-F192-11D4-A65F-0040963251E5
               NAME, "MXXMLWriter40"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXXMLWriter40] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXXMLWriter40] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXXMLWriter40] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter40] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter40] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter40] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter40] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter40] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter40] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter40] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter40] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter40] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter40] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter40] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter40] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter40] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter40] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * Microsoft XML Writer 6.0
           
      * MXXMLWriter60
           CLASS @MXXMLWriter60
               CLSID, 88D96A0F-F192-11D4-A65F-0040963251E5
               NAME, "MXXMLWriter60"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXXMLWriter60] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXXMLWriter60] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXXMLWriter60] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter60] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter60] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter60] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter60] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter60] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter60] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter60] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter60] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter60] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter60] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXXMLWriter60] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXXMLWriter60] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXXMLWriter60] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXXMLWriter60] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * Microsoft HTML Writer (version independent) coclass
           
      * MXHTMLWriter
           CLASS @MXHTMLWriter
               CLSID, A4C23EC3-6B70-4466-9127-550077239978
               NAME, "MXHTMLWriter"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXHTMLWriter] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXHTMLWriter] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXHTMLWriter] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * Microsoft HTML Writer 3.0 coclass
           
      * MXHTMLWriter30
           CLASS @MXHTMLWriter30
               CLSID, 853D1540-C1A7-4AA9-A226-4D3BD301146D
               NAME, "MXHTMLWriter30"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXHTMLWriter30] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXHTMLWriter30] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXHTMLWriter30] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter30] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter30] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter30] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter30] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter30] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter30] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter30] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter30] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter30] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter30] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter30] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter30] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter30] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter30] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * Microsoft HTML Writer 4.0 coclass
           
      * MXHTMLWriter40
           CLASS @MXHTMLWriter40
               CLSID, 88D969C9-F192-11D4-A65F-0040963251E5
               NAME, "MXHTMLWriter40"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXHTMLWriter40] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXHTMLWriter40] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXHTMLWriter40] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter40] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter40] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter40] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter40] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter40] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter40] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter40] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter40] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter40] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter40] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter40] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter40] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter40] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter40] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * Microsoft HTML Writer 6.0
           
      * MXHTMLWriter60
           CLASS @MXHTMLWriter60
               CLSID, 88D96A10-F192-11D4-A65F-0040963251E5
               NAME, "MXHTMLWriter60"
               DEFAULT-INTERFACE, "IMXWriter"
      *[Class: @MXHTMLWriter60] output
      * Set or get the output.
               PROPERTY-PUT, 1385, @output,
                   "VARIANT (Property_Value)", TYPE 12
      *[Class: @MXHTMLWriter60] output
      * Set or get the output.
               PROPERTY-GET, 1385, @output
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXHTMLWriter60] encoding
      * Set or get the output encoding.
               PROPERTY-PUT, 1387, @encoding,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter60] encoding
      * Set or get the output encoding.
               PROPERTY-GET, 1387, @encoding
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter60] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-PUT, 1388, @byteOrderMark,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter60] byteOrderMark
      * Determine whether or not to write the byte order mark
               PROPERTY-GET, 1388, @byteOrderMark
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter60] indent
      * Enable or disable auto indent mode.
               PROPERTY-PUT, 1389, @indent,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter60] indent
      * Enable or disable auto indent mode.
               PROPERTY-GET, 1389, @indent
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter60] standalone
      * Set or get the standalone document declaration.
               PROPERTY-PUT, 1390, @standalone,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter60] standalone
      * Set or get the standalone document declaration.
               PROPERTY-GET, 1390, @standalone
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter60] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-PUT, 1391, @omitXMLDeclaration,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter60] omitXMLDeclaration
      * Determine whether or not to omit the XML declaration.
               PROPERTY-GET, 1391, @omitXMLDeclaration
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter60] version
      * Set or get the xml version info.
               PROPERTY-PUT, 1392, @version,
                   "BSTR (Property_Value)", TYPE 8
      *[Class: @MXHTMLWriter60] version
      * Set or get the xml version info.
               PROPERTY-GET, 1392, @version
                       RETURNING "BSTR", TYPE 8
      *[Class: @MXHTMLWriter60] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-PUT, 1393, @disableOutputEscaping,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXHTMLWriter60] disableOutputEscaping
      * When enabled, the writer no longer escapes out its input when writing it 
               PROPERTY-GET, 1393, @disableOutputEscaping
                       RETURNING "boolean", TYPE 11
      *[Class: @MXHTMLWriter60] flush
      * Flushes all writer buffers forcing the writer to write to the underlying 
               METHOD, 1394, @flush
           
      * SAX Attributes (version independent) coclass
           
      * SAXAttributes
           CLASS @SAXAttributes
               CLSID, 4DD441AD-526D-4A77-9F1B-9841ED802FB0
               NAME, "SAXAttributes"
               DEFAULT-INTERFACE, "IMXAttributes"
      *[Class: @SAXAttributes] addAttribute
      * Add an attribute to the end of the list.
               METHOD, 1373, @addAttribute,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes] addAttributeFromIndex
      * Add an attribute, whose value is equal to the indexed attribute in the 
               METHOD, 1383, @addAttributeFromIndex,
                   "VARIANT" @varAtts, TYPE 12,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes] clear
      * Clear the attribute list for reuse.
               METHOD, 1374, @clear
      *[Class: @SAXAttributes] removeAttribute
      * Remove an attribute from the list.
               METHOD, 1375, @removeAttribute,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes] setAttribute
      * Set an attribute in the list.
               METHOD, 1376, @setAttribute,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes] setAttributes
      * Copy an entire Attributes object.
               METHOD, 1377, @setAttributes,
                   "VARIANT" @varAtts, TYPE 12
      *[Class: @SAXAttributes] setLocalName
      * Set the local name of a specific attribute.
               METHOD, 1378, @setLocalName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strLocalName, TYPE 8
      *[Class: @SAXAttributes] setQName
      * Set the qualified name of a specific attribute.
               METHOD, 1379, @setQName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strQName, TYPE 8
      *[Class: @SAXAttributes] setType
      * Set the type of a specific attribute.
               METHOD, 1380, @setType,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strType, TYPE 8
      *[Class: @SAXAttributes] setURI
      * Set the Namespace URI of a specific attribute.
               METHOD, 1381, @setURI,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8
      *[Class: @SAXAttributes] setValue
      * Set the value of a specific attribute.
               METHOD, 1382, @setValue,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strValue, TYPE 8
           
      * SAX Attributes 3.0 coclass
           
      * SAXAttributes30
           CLASS @SAXAttributes30
               CLSID, 3E784A01-F3AE-4DC0-9354-9526B9370EBA
               NAME, "SAXAttributes30"
               DEFAULT-INTERFACE, "IMXAttributes"
      *[Class: @SAXAttributes30] addAttribute
      * Add an attribute to the end of the list.
               METHOD, 1373, @addAttribute,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes30] addAttributeFromIndex
      * Add an attribute, whose value is equal to the indexed attribute in the 
               METHOD, 1383, @addAttributeFromIndex,
                   "VARIANT" @varAtts, TYPE 12,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes30] clear
      * Clear the attribute list for reuse.
               METHOD, 1374, @clear
      *[Class: @SAXAttributes30] removeAttribute
      * Remove an attribute from the list.
               METHOD, 1375, @removeAttribute,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes30] setAttribute
      * Set an attribute in the list.
               METHOD, 1376, @setAttribute,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes30] setAttributes
      * Copy an entire Attributes object.
               METHOD, 1377, @setAttributes,
                   "VARIANT" @varAtts, TYPE 12
      *[Class: @SAXAttributes30] setLocalName
      * Set the local name of a specific attribute.
               METHOD, 1378, @setLocalName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strLocalName, TYPE 8
      *[Class: @SAXAttributes30] setQName
      * Set the qualified name of a specific attribute.
               METHOD, 1379, @setQName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strQName, TYPE 8
      *[Class: @SAXAttributes30] setType
      * Set the type of a specific attribute.
               METHOD, 1380, @setType,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strType, TYPE 8
      *[Class: @SAXAttributes30] setURI
      * Set the Namespace URI of a specific attribute.
               METHOD, 1381, @setURI,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8
      *[Class: @SAXAttributes30] setValue
      * Set the value of a specific attribute.
               METHOD, 1382, @setValue,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strValue, TYPE 8
           
      * SAX Attributes 4.0 coclass
           
      * SAXAttributes40
           CLASS @SAXAttributes40
               CLSID, 88D969CA-F192-11D4-A65F-0040963251E5
               NAME, "SAXAttributes40"
               DEFAULT-INTERFACE, "IMXAttributes"
      *[Class: @SAXAttributes40] addAttribute
      * Add an attribute to the end of the list.
               METHOD, 1373, @addAttribute,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes40] addAttributeFromIndex
      * Add an attribute, whose value is equal to the indexed attribute in the 
               METHOD, 1383, @addAttributeFromIndex,
                   "VARIANT" @varAtts, TYPE 12,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes40] clear
      * Clear the attribute list for reuse.
               METHOD, 1374, @clear
      *[Class: @SAXAttributes40] removeAttribute
      * Remove an attribute from the list.
               METHOD, 1375, @removeAttribute,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes40] setAttribute
      * Set an attribute in the list.
               METHOD, 1376, @setAttribute,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes40] setAttributes
      * Copy an entire Attributes object.
               METHOD, 1377, @setAttributes,
                   "VARIANT" @varAtts, TYPE 12
      *[Class: @SAXAttributes40] setLocalName
      * Set the local name of a specific attribute.
               METHOD, 1378, @setLocalName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strLocalName, TYPE 8
      *[Class: @SAXAttributes40] setQName
      * Set the qualified name of a specific attribute.
               METHOD, 1379, @setQName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strQName, TYPE 8
      *[Class: @SAXAttributes40] setType
      * Set the type of a specific attribute.
               METHOD, 1380, @setType,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strType, TYPE 8
      *[Class: @SAXAttributes40] setURI
      * Set the Namespace URI of a specific attribute.
               METHOD, 1381, @setURI,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8
      *[Class: @SAXAttributes40] setValue
      * Set the value of a specific attribute.
               METHOD, 1382, @setValue,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strValue, TYPE 8
           
      * SAX Attributes 6.0
           
      * SAXAttributes60
           CLASS @SAXAttributes60
               CLSID, 88D96A0E-F192-11D4-A65F-0040963251E5
               NAME, "SAXAttributes60"
               DEFAULT-INTERFACE, "IMXAttributes"
      *[Class: @SAXAttributes60] addAttribute
      * Add an attribute to the end of the list.
               METHOD, 1373, @addAttribute,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes60] addAttributeFromIndex
      * Add an attribute, whose value is equal to the indexed attribute in the 
               METHOD, 1383, @addAttributeFromIndex,
                   "VARIANT" @varAtts, TYPE 12,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes60] clear
      * Clear the attribute list for reuse.
               METHOD, 1374, @clear
      *[Class: @SAXAttributes60] removeAttribute
      * Remove an attribute from the list.
               METHOD, 1375, @removeAttribute,
                   "int" @nIndex, TYPE 22
      *[Class: @SAXAttributes60] setAttribute
      * Set an attribute in the list.
               METHOD, 1376, @setAttribute,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8,
                   "BSTR" @strLocalName, TYPE 8,
                   "BSTR" @strQName, TYPE 8,
                   "BSTR" @strType, TYPE 8,
                   "BSTR" @strValue, TYPE 8
      *[Class: @SAXAttributes60] setAttributes
      * Copy an entire Attributes object.
               METHOD, 1377, @setAttributes,
                   "VARIANT" @varAtts, TYPE 12
      *[Class: @SAXAttributes60] setLocalName
      * Set the local name of a specific attribute.
               METHOD, 1378, @setLocalName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strLocalName, TYPE 8
      *[Class: @SAXAttributes60] setQName
      * Set the qualified name of a specific attribute.
               METHOD, 1379, @setQName,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strQName, TYPE 8
      *[Class: @SAXAttributes60] setType
      * Set the type of a specific attribute.
               METHOD, 1380, @setType,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strType, TYPE 8
      *[Class: @SAXAttributes60] setURI
      * Set the Namespace URI of a specific attribute.
               METHOD, 1381, @setURI,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strURI, TYPE 8
      *[Class: @SAXAttributes60] setValue
      * Set the value of a specific attribute.
               METHOD, 1382, @setValue,
                   "int" @nIndex, TYPE 22,
                   "BSTR" @strValue, TYPE 8
           
      * MX Namespace Manager coclass
           
      * MXNamespaceManager
           CLASS @MXNamespaceManager
               CLSID, 88D969D5-F192-11D4-A65F-0040963251E5
               NAME, "MXNamespaceManager"
               DEFAULT-INTERFACE, "IVBMXNamespaceManager"
      *[Class: @MXNamespaceManager] allowOverride
               PROPERTY-PUT, 1406, @allowOverride,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXNamespaceManager] allowOverride
               PROPERTY-GET, 1406, @allowOverride
                       RETURNING "boolean", TYPE 11
      *[Class: @MXNamespaceManager] reset
               METHOD, 1407, @reset
      *[Class: @MXNamespaceManager] pushContext
               METHOD, 1408, @pushContext
      *[Class: @MXNamespaceManager] pushNodeContext
               METHOD, 1409, @pushNodeContext,
                   "IXMLDOMNode*" @contextNode, TYPE 9,
                   "boolean" @fDeep, TYPE 11
                       OPTIONAL 1
      *[Class: @MXNamespaceManager] popContext
               METHOD, 1410, @popContext
      *[Class: @MXNamespaceManager] declarePrefix
               METHOD, 1411, @declarePrefix,
                   "BSTR" @prefix, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @MXNamespaceManager] getDeclaredPrefixes
               METHOD, 1412, @getDeclaredPrefixes
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @MXNamespaceManager] getPrefixes
               METHOD, 1413, @getPrefixes,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @MXNamespaceManager] getURI
               METHOD, 1414, @getURI,
                   "BSTR" @prefix, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXNamespaceManager] getURIFromNode
               METHOD, 1415, @getURIFromNode,
                   "BSTR" @strPrefix, TYPE 8,
                   "IXMLDOMNode*" @contextNode, TYPE 9
                       RETURNING "VARIANT", TYPE 12
           
      * MX Namespace Manager 4.0 coclass
           
      * MXNamespaceManager40
           CLASS @MXNamespaceManager40
               CLSID, 88D969D6-F192-11D4-A65F-0040963251E5
               NAME, "MXNamespaceManager40"
               DEFAULT-INTERFACE, "IVBMXNamespaceManager"
      *[Class: @MXNamespaceManager40] allowOverride
               PROPERTY-PUT, 1406, @allowOverride,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXNamespaceManager40] allowOverride
               PROPERTY-GET, 1406, @allowOverride
                       RETURNING "boolean", TYPE 11
      *[Class: @MXNamespaceManager40] reset
               METHOD, 1407, @reset
      *[Class: @MXNamespaceManager40] pushContext
               METHOD, 1408, @pushContext
      *[Class: @MXNamespaceManager40] pushNodeContext
               METHOD, 1409, @pushNodeContext,
                   "IXMLDOMNode*" @contextNode, TYPE 9,
                   "boolean" @fDeep, TYPE 11
                       OPTIONAL 1
      *[Class: @MXNamespaceManager40] popContext
               METHOD, 1410, @popContext
      *[Class: @MXNamespaceManager40] declarePrefix
               METHOD, 1411, @declarePrefix,
                   "BSTR" @prefix, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @MXNamespaceManager40] getDeclaredPrefixes
               METHOD, 1412, @getDeclaredPrefixes
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @MXNamespaceManager40] getPrefixes
               METHOD, 1413, @getPrefixes,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @MXNamespaceManager40] getURI
               METHOD, 1414, @getURI,
                   "BSTR" @prefix, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXNamespaceManager40] getURIFromNode
               METHOD, 1415, @getURIFromNode,
                   "BSTR" @strPrefix, TYPE 8,
                   "IXMLDOMNode*" @contextNode, TYPE 9
                       RETURNING "VARIANT", TYPE 12
           
      * MX Namespace Manager 6.0
           
      * MXNamespaceManager60
           CLASS @MXNamespaceManager60
               CLSID, 88D96A11-F192-11D4-A65F-0040963251E5
               NAME, "MXNamespaceManager60"
               DEFAULT-INTERFACE, "IVBMXNamespaceManager"
      *[Class: @MXNamespaceManager60] allowOverride
               PROPERTY-PUT, 1406, @allowOverride,
                   "boolean (Property_Value)", TYPE 11
      *[Class: @MXNamespaceManager60] allowOverride
               PROPERTY-GET, 1406, @allowOverride
                       RETURNING "boolean", TYPE 11
      *[Class: @MXNamespaceManager60] reset
               METHOD, 1407, @reset
      *[Class: @MXNamespaceManager60] pushContext
               METHOD, 1408, @pushContext
      *[Class: @MXNamespaceManager60] pushNodeContext
               METHOD, 1409, @pushNodeContext,
                   "IXMLDOMNode*" @contextNode, TYPE 9,
                   "boolean" @fDeep, TYPE 11
                       OPTIONAL 1
      *[Class: @MXNamespaceManager60] popContext
               METHOD, 1410, @popContext
      *[Class: @MXNamespaceManager60] declarePrefix
               METHOD, 1411, @declarePrefix,
                   "BSTR" @prefix, TYPE 8,
                   "BSTR" @namespaceURI, TYPE 8
      *[Class: @MXNamespaceManager60] getDeclaredPrefixes
               METHOD, 1412, @getDeclaredPrefixes
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @MXNamespaceManager60] getPrefixes
               METHOD, 1413, @getPrefixes,
                   "BSTR" @namespaceURI, TYPE 8
                       RETURNING "IMXNamespacePrefixes*", TYPE 9
      *[Class: @MXNamespaceManager60] getURI
               METHOD, 1414, @getURI,
                   "BSTR" @prefix, TYPE 8
                       RETURNING "VARIANT", TYPE 12
      *[Class: @MXNamespaceManager60] getURIFromNode
               METHOD, 1415, @getURIFromNode,
                   "BSTR" @strPrefix, TYPE 8,
                   "IXMLDOMNode*" @contextNode, TYPE 9
                       RETURNING "VARIANT", TYPE 12
